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
- Error With iOS Apps
I keep getting the below errors for my flutter app. The clients are registered and have been. This wasn't an issue a few hours ago. AppwriteException: AppwriteE...
- Function global variables
when i create a top-level global variable in go or bun how will it behave? is the heap getting renewed on every execution or could i do some kind of temp. cachi...
- Appwrite Auth & Function don't reveal cl...
When I execute a function or sign in with my Flutter app, Appwrite does not show my real IP: instead, it seems that Appwrite shows Fastly CDN IP address.