refactor: remove concurrency limit from Telegram upload queue and enhance media group handling
This commit is contained in:
@@ -2,10 +2,9 @@ import { describe, expect, it } from 'bun:test';
|
||||
import { enqueueUpload } from '../src/utils/telegramQueue';
|
||||
|
||||
describe('Telegram Queue', () => {
|
||||
it('should process tasks in order and limit concurrency', async () => {
|
||||
it('should process tasks in parallel without limit', async () => {
|
||||
let activeTasks = 0;
|
||||
let maxActiveTasks = 0;
|
||||
const executionOrder: number[] = [];
|
||||
|
||||
const createTask = (id: number, delayMs: number) => {
|
||||
return async () => {
|
||||
@@ -16,24 +15,22 @@ describe('Telegram Queue', () => {
|
||||
|
||||
await new Promise((resolve) => setTimeout(resolve, delayMs));
|
||||
|
||||
executionOrder.push(id);
|
||||
activeTasks--;
|
||||
return id;
|
||||
};
|
||||
};
|
||||
|
||||
// Enqueue 4 tasks with delays
|
||||
const promises = [
|
||||
enqueueUpload(createTask(1, 50)),
|
||||
enqueueUpload(createTask(2, 20)),
|
||||
enqueueUpload(createTask(3, 10)),
|
||||
enqueueUpload(createTask(4, 5)),
|
||||
enqueueUpload(createTask(2, 50)),
|
||||
enqueueUpload(createTask(3, 50)),
|
||||
enqueueUpload(createTask(4, 50)),
|
||||
];
|
||||
|
||||
const results = await Promise.all(promises);
|
||||
|
||||
expect(results).toEqual([1, 2, 3, 4]);
|
||||
// Concurrency limit is 2, so maximum active tasks at any time should be <= 2
|
||||
expect(maxActiveTasks).toBeLessThanOrEqual(2);
|
||||
// Concurrency limit is removed, so active tasks should be able to reach 4 (fully parallel)
|
||||
expect(maxActiveTasks).toBe(4);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user