Team Ai
Apppublic

sanket3280/code-execution

sourceHugging Faceupdated 11mo agoView on Hugging Face
0likes
submitQueue.js52 linesDownload Raw Back to queues
1/**2 * Submit Queue - BullMQ3 * Handles code submission jobs asynchronously4 */5 6const { Queue } = require('bullmq');7const { config } = require('../config/env.config');8const logger = require('../utils/logger');9 10// Create queue connection11const connection = config.redis.url 12  ? { url: config.redis.url }13  : {14      host: config.redis.host,15      port: config.redis.port,16      password: config.redis.password || undefined17    };18 19const submitQueue = new Queue('submit', { connection });20 21submitQueue.on('error', (error) => {22  logger.error('Submit queue error:', error);23});24 25/**26 * Add submission job to queue27 */28const addSubmitJob = async (jobData) => {29  try {30    const job = await submitQueue.add('evaluate', jobData, {31      attempts: 3,32      backoff: {33        type: 'exponential',34        delay: 200035      },36      removeOnComplete: 100, // Keep last 100 completed jobs37      removeOnFail: 200 // Keep last 200 failed jobs38    });39    40    logger.info(`Submit job added: ${job.id}`);41    return job;42  } catch (error) {43    logger.error('Error adding submit job:', error);44    throw error;45  }46};47 48module.exports = {49  submitQueue,50  addSubmitJob51};52