Files
B.Tech-Project-III/dmtp/server/test-worker.ts
2026-04-05 00:43:23 +05:30

71 lines
2.4 KiB
TypeScript
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* Test script to verify worker setup
* Run with: npx ts-node test-worker.ts
*/
import 'dotenv/config';
import { startVerificationWorker, stopVerificationWorker } from './src/workers';
import { addVerificationJob, getQueueStats } from './src/queues/verification.queue';
async function testWorker() {
console.log('🧪 Testing Verification Worker Setup\n');
try {
// Start worker
console.log('1⃣ Starting worker...');
startVerificationWorker();
console.log('✅ Worker started\n');
// Wait a bit
await new Promise(resolve => setTimeout(resolve, 2000));
// Check queue stats
console.log('2⃣ Checking queue stats...');
const stats = await getQueueStats();
console.log('📊 Queue Statistics:');
console.log(` - Waiting: ${stats.waiting}`);
console.log(` - Active: ${stats.active}`);
console.log(` - Completed: ${stats.completed}`);
console.log(` - Failed: ${stats.failed}`);
console.log(` - Total: ${stats.total}\n`);
// Add a test job
console.log('3⃣ Adding a test job...');
const testJob = await addVerificationJob({
submissionId: 'test-submission-id',
taskId: 'test-task-id',
workerId: 'test-worker-id',
submissionData: { test: 'data' },
verificationCriteria: { test: 'criteria' },
taskType: 'text_verification',
});
console.log(`✅ Test job added: ${testJob.id}\n`);
// Wait for processing
console.log('4⃣ Waiting for job to process (10 seconds)...');
await new Promise(resolve => setTimeout(resolve, 10000));
// Check final stats
const finalStats = await getQueueStats();
console.log('\n📊 Final Queue Statistics:');
console.log(` - Waiting: ${finalStats.waiting}`);
console.log(` - Active: ${finalStats.active}`);
console.log(` - Completed: ${finalStats.completed}`);
console.log(` - Failed: ${finalStats.failed}`);
console.log(` - Total: ${finalStats.total}\n`);
console.log('✅ Worker test completed!\n');
} catch (error) {
console.error('❌ Test failed:', error);
} finally {
// Stop worker
console.log('🛑 Stopping worker...');
await stopVerificationWorker();
console.log('✅ Worker stopped\n');
process.exit(0);
}
}
testWorker();