Hello.
I have the following piece of code.
var validationJobId = BatchJob.StartNew(
fx =>
{
fx.Enqueue(() => ValidateExecution(operationDto));
},
$"- First Step - Validation Step {operationDto?.Oid} for Rule Execution {operationDto?.RuleExecutionOid} at {DateTime.UtcNow} (UTC)");
// Once the object data is validated it will execute the rules matching the criterion as steps of the parent rule
// Get valid rules and their actions
var id = BatchJob.ContinueBatchWith(
validationJobId,
x =>
{
x.Enqueue(() => ExecuteRuleAction(x.BatchId, operationDto, null));
},
$"- Rules Execution for batch Job Id {validationJobId} at {DateTime.UtcNow} (UTC)-",
BatchContinuationOptions.OnlyOnSucceededState);
// Once the rules are executed (without issues), it tries to call the rule engine again if necessary.
BatchJob.ContinueBatchWith(
id,
b =>
{
b.Enqueue(() => CallRulesEngine(operationDto));
},
$"- Final Step for batch Job Id {id} at {DateTime.UtcNow} (UTC) -",
BatchContinuationOptions.OnAnyFinishedState);
When I try to re-enqueue the job created in the line " x.Enqueue(() => ExecuteRuleAction(x.BatchId, operationDto, null));" The next batch “CallRulesEngine” is not executed.
I don’t know if it’s a normal behavior, or I have to requeue the next job.
thoughts?