feat: Implement auto-run interval for triggers of completed flows
This commit is contained in:

committed by
Ömer Faruk Aydın

parent
3715291df7
commit
22e1fe5c44
@@ -1,31 +1,26 @@
|
||||
import { Worker } from 'bullmq';
|
||||
import Processor from '../services/processor';
|
||||
import redisConfig from '../config/redis';
|
||||
import Step from '../models/step';
|
||||
import Flow from '../models/flow';
|
||||
import logger from '../helpers/logger';
|
||||
|
||||
const worker = new Worker(
|
||||
'processor',
|
||||
async (job) => {
|
||||
const step = await Step.query()
|
||||
.withGraphFetched('connection')
|
||||
.findOne({
|
||||
'steps.id': job.data.stepId,
|
||||
})
|
||||
.throwIfNotFound();
|
||||
const flow = await Flow.query().findById(job.data.flowId).throwIfNotFound();
|
||||
const data = await new Processor(flow, { testRun: false }).run();
|
||||
|
||||
const flow = await step.$relatedQuery('flow');
|
||||
|
||||
const data = await new Processor(flow, step).run();
|
||||
return data;
|
||||
},
|
||||
{ connection: redisConfig }
|
||||
);
|
||||
|
||||
worker.on('completed', (job) => {
|
||||
logger.info(`${job.id} has completed!`);
|
||||
logger.info(`JOB ID: ${job.id} - FLOW ID: ${job.data.flowId} has completed!`);
|
||||
});
|
||||
|
||||
worker.on('failed', (job, err) => {
|
||||
logger.info(`${job.id} has failed with ${err.message}`);
|
||||
logger.info(
|
||||
`JOB ID: ${job.id} - FLOW ID: ${job.data.flowId} has failed with ${err.message}`
|
||||
);
|
||||
});
|
||||
|
Reference in New Issue
Block a user