fix(worker): compute parameters for delaying job

This commit is contained in:
Ali BARIN
2023-02-08 19:07:40 +00:00
parent 3d98e6cdc0
commit 74a77ed271
3 changed files with 8 additions and 8 deletions

View File

@@ -4,18 +4,18 @@ import delayForAsMilliseconds, {
} from './delay-for-as-milliseconds';
import delayUntilAsMilliseconds from './delay-until-as-milliseconds';
const delayAsMilliseconds = (step: Step) => {
const delayAsMilliseconds = (eventKey: Step["key"], computedParameters: Step["parameters"]) => {
let delayDuration = 0;
if (step.key === 'delayFor') {
const { delayForUnit, delayForValue } = step.parameters;
if (eventKey === 'delayFor') {
const { delayForUnit, delayForValue } = computedParameters;
delayDuration = delayForAsMilliseconds(
delayForUnit as TDelayForUnit,
Number(delayForValue)
);
} else if (step.key === 'delayUntil') {
const { delayUntil } = step.parameters;
} else if (eventKey === 'delayUntil') {
const { delayUntil } = computedParameters;
delayDuration = delayUntilAsMilliseconds(delayUntil as string);
}

View File

@@ -65,5 +65,5 @@ export const processAction = async (options: ProcessActionOptions) => {
errorDetails: $.actionOutput.error ? $.actionOutput.error : null,
});
return { flowId, stepId, executionId, executionStep };
return { flowId, stepId, executionId, executionStep, computedParameters };
};

View File

@@ -21,7 +21,7 @@ const DEFAULT_DELAY_DURATION = 0;
export const worker = new Worker(
'action',
async (job) => {
const { stepId, flowId, executionId } = await processAction(
const { stepId, flowId, executionId, computedParameters } = await processAction(
job.data as JobData
);
@@ -45,7 +45,7 @@ export const worker = new Worker(
};
if (step.appKey === 'delay') {
jobOptions.delay = delayAsMilliseconds(step);
jobOptions.delay = delayAsMilliseconds(step.key, computedParameters);
}
await actionQueue.add(jobName, jobPayload, jobOptions);