Operation timed out after 30002 milliseconds with Functions - Completely random
- 0
- Self Hosted
- Functions
- Appwrite Version 1.5.5 selfhosted
- Function Runtime Node.js 16.0
- Timeout 240
- .env: _APP_FUNCTIONS_TIMEOUT=1900
- Angular 17
In the Appwrite function I use this admittedly somewhat larger method to create a collection with attributes:
async function newNotesCollection(title, res, log) {
log('newNotesCollection');
try {
const response = await appwriteService.createCollection(title);
log('after createCollection...');
await appwriteService.createStringAttribute('message',response.$id, 2000);
log('after createStringAttribute message...');
await appwriteService.createStringAttribute('username',response.$id, 50);
log('after createCollection username...');
await appwriteService.createStringAttribute('userId',response.$id, 50);
log('after createCollection userId...');
await appwriteService.createNumberAttribute('date', response.$id, 50);
log('after createCollection date...');
let ready = false;
while (!ready) {
log('Attributes not ready....');
ready = await appwriteService.newCollectionAttributesReady(response.$id,log);
await delay(2000); // Warte 2 Sekunden, bevor du die Methode erneut aufrufst
}
log('Attributes ready.');
return res.send(response);
} catch (e) {
log('Error: ' + e);
return res.status(500).send('An error occurred: ' + e);
}
}```
In 9 out of 10 cases everything runs perfectly, the while loop always runs twice and then everything is ready:
But in this one case I get the timeout and NO logs at all:
`Operation timed out after 30002 milliseconds with 0 bytes received with status code 0\nError Code: 0`
- Why does the timeout always come at 30002 milliseconds?
- And why is there a timeout at all.... ?
I've really tried a lot, but unfortunately I can't make any progress at the moment because it's just so random for me.
Thank you for help 🙂
i changed the method a bit (while....): ```js async function newNotesCollection(title, res, log) { log('newNotesCollection'); try { const response = await appwriteService.createCollection(title); log('after createCollection...');
await appwriteService.createStringAttribute('message',response.$id, 2000);
log('after createStringAttribute message...');
await appwriteService.createStringAttribute('username',response.$id, 50);
log('after createCollection username...');
await appwriteService.createStringAttribute('userId',response.$id, 50);
log('after createCollection userId...');
await appwriteService.createNumberAttribute('date', response.$id, 50);
log('after createCollection date...');
let ready = false;
let attempts = 0;
const maxAttempts = 8;
while (!ready && attempts < maxAttempts) {
log('Attributes not ready....');
ready = await appwriteService.newCollectionAttributesReady(response.$id,log);
await delay(2000); // Warte 2 Sekunden, bevor du die Methode erneut aufrufst
}
if (!ready) {
log('Attributes not ready....');
return res.status(500).send('Attributes not ready. Collection id: ' + response.$id);
}
log('Attributes ready.');
return res.send(response);
} catch (e) { log('Error: ' + e); return res.status(500).send('An error occurred: ' + e); } }```
So I think the way I rebuilt the while loop, there shouldn't be a timeout anymore. If nothing is found in the while, an error is sent back.... I have now sent requests 100 times, each with a 10 second delay. The first 30 were processed sensibly, but now the timeouts are increasing... (look the image) Server(CPU-Core: 4, Ram 6gb): RAM 39% utilization, cpu approx. 67-78% utilization...
Operation timed out after 30002 milliseconds with Functions - Completely random
Recommended threads
- OAuth session cookie is set but wont del...
I have made it so my users can log in with Github, and it does work, however when I try and get their details with account.get() I get the error ```AppwriteExce...
- appwrite-worker-usage invalid character ...
```bash root@appwrite:~# docker logs appwrite-worker-usage ... ... [Job] Received Job (6639ff2e219529.60314462). [2024-05-07 10:15:10.139] Aggregated 207 keys [...
- Attempting to make a function using self...
docker compose logs appwrite ```appwrite | [Error] Timestamp: 2024-05-08T03:02:32+00:00 appwrite | [Error] Method: GET appwrite | [Error] URL: /v1/account ap...