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
- How to Avoid Double Requests in function...
I'm currently using Appwrite's `functions.createExecution` in my project. I want to avoid double requests when multiple actions (like searching or pagination) a...
- Project in AppWrite Cloud doesn't allow ...
I have a collection where the data can't be opened. When I check the functions, there are three instances of a function still running that can't be deleted. The...
- Get team fail in appwrite function
I try to get team of a user inside appwrite function, but i get this error: `AppwriteException: User (role: guests) missing scope (teams.read)` If i try on cl...