
I created a function that fetches some data from the Appwrite database. When I alone test my website, it works nice and smoothly, very fast too. But whenever my friend I visit the website at the same time, it gets stuck either on my side or his, and after 15 seconds it results in an error.
An internal curl error has occurred within the executor! Error Msg: Operation timed out
The Appwrite instance is running on a DigitalOcean droplet.
How do I solve this issue? Thanks.

This is super weird.
I've had concurrent users on a self-hosted instance and even on cloud. Never had an issue with a function not executing 馃

Could you share the code of your function?

Yeah I find it very weird too! But it's happening constantly, if there are two users the website is becoming unusable. This could be a problem with DigitalOcean too? I don't know.

Sure. Something like this:
const comment = JSON.parse(req.payload);
const commentDoc = {
questionId: comment.questionId,
body: comment.body,
by: req.variables["APPWRITE_FUNCTION_USER_ID"],
};
const response = await database.createDocument(
"643d4f079b55031ba6b6",
"646b45b9e454f1b4d1c4",
sdk.ID.unique(),
commentDoc,
[
// permissions
]
);
// Updating Question's Comment Count
const question = await database.getDocument(
"643d4f079b55031ba6b6",
"643d4f2cd70649dd9083",
comment.questionId
);
await database.updateDocument(
"643d4f079b55031ba6b6",
"643d4f2cd70649dd9083",
comment.questionId,
{ commentCount: question.commentCount + 1 }
);
// Creating Notification
if (question.askerId !== req.variables["APPWRITE_FUNCTION_USER_ID"]) {
const notification = {
for: question.askerId,
message: `${comment.by.name} has commented on your question.`,
read: false,
payload: question.$id,
type: "comment",
};
await database.createDocument(
"643d4f079b55031ba6b6",
"648f59f58faa3642c794",
sdk.ID.unique(),
notification,
[
// permissions
]
);
await database.updateDocument(
"643d4f079b55031ba6b6",
"643dbd7c35b3663184f3",
question.askerId,
{ newNotifications: true }
)
}

But, do note that this isn't the only function that fails. Smaller functions fail too.

is this code enclosed in a try-catch
?

in that case, are all these functions enclosed in a try-catch
?

Nope, it isn't. Would it help?

Worth a try!
- In the
catch
block, look for anAppwriteException
. - Increase the function timeout to 5 minutes so it keep running and you will be able to see any errors that may occur.

Also, make sure to call res.json
in the catch block before the return
statement.

Okay trying both now! I shall let you know.

catch (AppwriteException e) {
res.json({
'message': e.message,
'status': 'failed'
});
}

an example ^
Recommended threads
- Hola equipo de soporte,
Hola equipo de soporte, Estoy desarrollando una Function en Appwrite Cloud con Node.js 22 y el siguiente package.json: {聽聽"name":聽"upload-whitelist",聽聽"type"...
- Function running in cloud but not locall...
Hi everyone, I have an appwrite function which is on python3.12 runtime. I have a library (hnswlib) which builds wheels during installation. This works on appwr...
- Permissions for bulk operation
Hi team, I have a question: 鈥淚n the databases.createDocuments bulk API, can I set document-level permissions? If yes, how exactly should I include the permissio...
