I have a very simple function that runs listDocuments on a collection with literally 2 items in it. There are no relationships or anything complicated. It times out roughly half the time, even when its running the identical query with the exact same inputs. The hang always occurs after the log 'feting documents' so I know its the initial listDocuments causing the hang. I am testing with a single user, I've tested it with document existing, document not existing, expired token etc and it all works. But it just consistently hangs roughly half the time. Self hosted.
(The function is supposed to check if there's an existing record in the collection for this users token. If not, generate a token and create a record. If exists, just use that token if its not expired. If its expired, generate a new token and update the record in the collection. This all works as intended when the function doesn't hang.)
import { Client, Databases, Query, ID } from 'node-appwrite';
import { StreamChat } from 'stream-chat';
const serverClient = StreamChat.getInstance('xxxxxx', 'xxxxxxxxxxxxxxxxxxxx');
export default async ({ req, res, log, error }) => {
const client = new Client();
client
.setEndpoint('https://api.xxx.com/v1') // Set your Appwrite endpoint here
.setProject('xxxxxxxx') // Set your project ID here
.setKey(process.env.APPWRITE_API_KEY); // Set your API key here
const tokensCollection = 'xxxxx';
const dbId = 'xxxxxx';
// Initialize the database client
const database = new Databases(client);
const data = req.headers;
const uid = data['x-appwrite-user-id'];
log(`processing UID ${uid}`);
if (req.method === 'POST') {
try {
log(`Fetching Documents`);
let token;
const docs = await database.listDocuments(dbId, tokensCollection, [
Query.equal('uid', uid),
]);
log(`docs: ${docs.total}`);
//Rest cut for character limit
};
Recommended threads
- Cannot create cloud function due to this...
As I try to deploy a new function to Github I get this error message: ``` Unable to clone code repository: fatal: ' ' is not a valid branch name hint: See `man ...
- How to use TS for creating appwrite func...
I was making a few appwrite functions but on doing the appwrite init setup process i always got main.js. Is there any way i can use TS?
- Synchronous Function Execution Timed Out...
Hi Appwrite team 👋 I’m facing a synchronous function execution timeout issue on Appwrite Cloud and would appreciate some guidance. I executed this function u...