UNPKG

blazerjob

Version:

TypeScript library for scheduling, executing, and managing asynchronous tasks (custom, HTTP, Cosmos) with a SQLite backend.

31 lines (30 loc) 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.scheduleManyCosmosQueries = scheduleManyCosmosQueries; /** * Programme facilement un grand nombre de requêtes Cosmos sur une liste d'adresses. * Les adresses sont utilisées en round-robin. */ async function scheduleManyCosmosQueries(job, opts) { const { addresses, count, queryType, intervalMs = 100, configOverrides = {}, retriesLeft = 0, priority = 0, runAt, webhookUrl } = opts; if (!addresses || addresses.length === 0) throw new Error('addresses must be a non-empty array'); for (let i = 0; i < count; i++) { const address = addresses[i % addresses.length]; const scheduledAt = runAt ? (runAt instanceof Date ? new Date(runAt.getTime() + i * intervalMs) : new Date(new Date(runAt).getTime() + i * intervalMs)) : new Date(Date.now() + i * intervalMs); job.schedule(async () => { }, { type: 'cosmos', runAt: scheduledAt, priority, retriesLeft, webhookUrl, config: { queryType, queryParams: { address }, ...configOverrides } }); } }