File size: 565 Bytes
568021d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import pRetry, { AbortError } from 'p-retry';
import pTimeout from 'p-timeout';
export async function withQwenTimeout<T>(
fn: () => Promise<T>,
{ totalTimeout = 180_000, retries = 2 } = {}
): Promise<T> {
return pRetry(
() => pTimeout(fn(), { milliseconds: totalTimeout }),
{
retries,
onFailedAttempt: (error) => {
console.error(`qwen3 attempt #${error.attemptNumber} failed: ${error.message}`);
if (error.retriesLeft === 0) {
console.error('qwen3 max retries reached, giving up');
}
}
}
);
} |