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 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();