A social knowledge tool for researchers built on ATProto
1export const QueueNames = {
2 FEEDS: 'feeds',
3 // Future queues can be added here:
4 // NOTIFICATIONS: 'notifications',
5 // ANALYTICS: 'analytics',
6} as const;
7
8export type QueueName = (typeof QueueNames)[keyof typeof QueueNames];
9
10export const QueueOptions = {
11 [QueueNames.FEEDS]: {
12 attempts: 3,
13 backoff: { type: 'exponential' as const, delay: 2000 },
14 removeOnComplete: 50,
15 removeOnFail: 25,
16 concurrency: 15,
17 },
18 // Future queue configurations:
19 // [QueueNames.NOTIFICATIONS]: {
20 // attempts: 5,
21 // backoff: { type: 'exponential' as const, delay: 1000 },
22 // removeOnComplete: 100,
23 // removeOnFail: 50,
24 // concurrency: 5,
25 // },
26 // [QueueNames.ANALYTICS]: {
27 // attempts: 2,
28 // backoff: { type: 'exponential' as const, delay: 5000 },
29 // removeOnComplete: 25,
30 // removeOnFail: 10,
31 // concurrency: 20,
32 // },
33} as const;