Retry outbound reactions for up to a day
This commit is contained in:
parent
4a6b7968c1
commit
8670a4d864
25 changed files with 1444 additions and 473 deletions
44
ts/test-node/jobs/helpers/InMemoryQueues_test.ts
Normal file
44
ts/test-node/jobs/helpers/InMemoryQueues_test.ts
Normal file
|
@ -0,0 +1,44 @@
|
|||
// Copyright 2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import { assert } from 'chai';
|
||||
|
||||
import { InMemoryQueues } from '../../../jobs/helpers/InMemoryQueues';
|
||||
|
||||
describe('InMemoryQueues', () => {
|
||||
describe('get', () => {
|
||||
it('returns a new PQueue for each key', () => {
|
||||
const queues = new InMemoryQueues();
|
||||
|
||||
assert.strictEqual(queues.get('a'), queues.get('a'));
|
||||
assert.notStrictEqual(queues.get('a'), queues.get('b'));
|
||||
assert.notStrictEqual(queues.get('b'), queues.get('c'));
|
||||
});
|
||||
|
||||
it('returns a queue that only executes one thing at a time', () => {
|
||||
const queue = new InMemoryQueues().get('foo');
|
||||
|
||||
assert.strictEqual(queue.concurrency, 1);
|
||||
});
|
||||
|
||||
it('cleans up the queues when all tasks have run', async () => {
|
||||
const queues = new InMemoryQueues();
|
||||
|
||||
const originalQueue = queues.get('foo');
|
||||
|
||||
originalQueue.pause();
|
||||
const tasksPromise = originalQueue.addAll([
|
||||
async () => {
|
||||
assert.strictEqual(queues.get('foo'), originalQueue);
|
||||
},
|
||||
async () => {
|
||||
assert.strictEqual(queues.get('foo'), originalQueue);
|
||||
},
|
||||
]);
|
||||
originalQueue.start();
|
||||
await tasksPromise;
|
||||
|
||||
assert.notStrictEqual(queues.get('foo'), originalQueue);
|
||||
});
|
||||
});
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue