MCPcopy
hub / github.com/FlowiseAI/Flowise / createWorker

Function createWorker

packages/server/src/queue/BaseQueue.ts:59–107  ·  view source on GitHub ↗
(concurrency: number = WORKER_CONCURRENCY)

Source from the content-addressed store, hash-verified

57 }
58
59 public createWorker(concurrency: number = WORKER_CONCURRENCY): Worker {
60 try {
61 this.worker = new Worker(
62 this.queue.name,
63 async (job: Job) => {
64 const start = new Date().getTime()
65 logger.info(`[BaseQueue] Processing job ${job.id} in ${this.queue.name} at ${new Date().toISOString()}`)
66 try {
67 const result = await this.processJob(job.data)
68 const end = new Date().getTime()
69 logger.info(
70 `[BaseQueue] Completed job ${job.id} in ${this.queue.name} at ${new Date().toISOString()} (${end - start}ms)`
71 )
72 return result
73 } catch (error) {
74 const end = new Date().getTime()
75 logger.error(
76 `[BaseQueue] Job ${job.id} failed in ${this.queue.name} at ${new Date().toISOString()} (${end - start}ms):`,
77 { error }
78 )
79 throw error
80 }
81 },
82 {
83 connection: this.connection,
84 concurrency
85 }
86 )
87
88 // Add error listeners to the worker
89 this.worker.on('error', (err) => {
90 logger.error(`[BaseQueue] Worker error for queue "${this.queue.name}":`, { error: err })
91 })
92
93 this.worker.on('closed', () => {
94 logger.info(`[BaseQueue] Worker closed for queue "${this.queue.name}"`)
95 })
96
97 this.worker.on('failed', (job, err) => {
98 logger.error(`[BaseQueue] Worker job ${job?.id} failed in queue "${this.queue.name}":`, { error: err })
99 })
100
101 logger.info(`[BaseQueue] Worker created successfully for queue "${this.queue.name}"`)
102 return this.worker
103 } catch (error) {
104 logger.error(`[BaseQueue] Failed to create worker for queue "${this.queue.name}":`, { error })
105 throw error
106 }
107 }
108
109 public async getJobs(): Promise<Job[]> {
110 return await this.queue.getJobs()

Callers

nothing calls this directly

Calls 2

getTimeMethod · 0.45
processJobMethod · 0.45

Tested by

no test coverage detected