40 lines
No EOL
1.2 KiB
TypeScript
40 lines
No EOL
1.2 KiB
TypeScript
/**
|
|
* Proxy Queue Operations - Queueing proxy operations
|
|
*/
|
|
import { ProxyInfo } from '@stock-bot/http';
|
|
import { QueueManager } from '@stock-bot/queue';
|
|
import { OperationContext } from '@stock-bot/di';
|
|
|
|
export async function queueProxyFetch(): Promise<string> {
|
|
const ctx = OperationContext.create('proxy', 'queue-fetch');
|
|
|
|
const queueManager = QueueManager.getInstance();
|
|
const queue = queueManager.getQueue('proxy');
|
|
const job = await queue.add('proxy-fetch', {
|
|
handler: 'proxy',
|
|
operation: 'fetch-and-check',
|
|
payload: {},
|
|
priority: 5,
|
|
});
|
|
|
|
const jobId = job.id || 'unknown';
|
|
ctx.logger.info('Proxy fetch job queued', { jobId });
|
|
return jobId;
|
|
}
|
|
|
|
export async function queueProxyCheck(proxies: ProxyInfo[]): Promise<string> {
|
|
const ctx = OperationContext.create('proxy', 'queue-check');
|
|
|
|
const queueManager = QueueManager.getInstance();
|
|
const queue = queueManager.getQueue('proxy');
|
|
const job = await queue.add('proxy-check', {
|
|
handler: 'proxy',
|
|
operation: 'check-specific',
|
|
payload: { proxies },
|
|
priority: 3,
|
|
});
|
|
|
|
const jobId = job.id || 'unknown';
|
|
ctx.logger.info('Proxy check job queued', { jobId, count: proxies.length });
|
|
return jobId;
|
|
} |