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
- "Domain verification failed"
"Domain verification failed" I was install Appwrite in my VDS server. I using Coolify for install Appwrite. After install complete, i want add my domain, and i ...
- Appwrite Sites triggers builds for all p...
I connected my Appwrite Sites to my Git app on my self hosted Appwrite server, but even though I only connected it to main branch, it creates a build every sing...
- My cloud functions failing 3 days ago (P...
Hi, My cloud function using python has been failing for 3 days, I didn't push any new deployments... Its something to do with it not recognising the entrypoi...