Hello, I want to check if a cloud function is running and wait the end of the execution before to run a new one. How can I achieve that?
Hello. In your code you should get a response by default when you trigger it client sided
Example in Dart (tell me your preferred lang and will write one if needed):
try {
final execution = await functions.createExecution(
functionId: '[FUNCTION_ID]',
body: json.encode({ 'foo': 'bar' }),
async: false,
path: '/',
method: 'GET',
headers: {
'X-Custom-Header': '123'
}
);
//you can trigger here anything since the function executed successfully
print("The function got executed correctly. Response:")
print(execution.toMap());
} catch (e) {
//this will be triggered if the function execution fails or there is a network/appwrite issue
print("An error ocurred:")
print(e.message);
}
thank you for your response, I have multiple clients that access that function. I need to check if the function is running, it should be thread safe.
Note that doesn't goes in the function, but client side code
Could change depending on your appwrite version. The code I sent is for latest appwrite version
I would do it by creating a locks collection.
When the function runs, it'll create a document with a specific id. If it can create the document, it should continue processing and then delete the document when done executing. Any other function that tries to run would get an error because no 2 documents can have the same ID
Recommended threads
- Realtime with multiple connections
I need the Realtime on multiple Collections for diffrent applicational logic. So my question is: Is there a way to have only 1 Websocket connection or do I need...
- Can't login or deploy functions in Appwr...
Hello, since i updatet to the appwrite cli 6.1.0 i can't login or deploy functions with the cli. When i call the command: "appwrite get account --verbose" i ge...
- Create admin user?
I'm not really sure how this is supposed to work, I installed Appwrite through docker-compose and set it up. When I launched the app and went into it, I created...