When a job that was created from a batch is requeued, jobs that need to run after it are not called. (Using ContinueBatchWith)


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(
                        x =>
                            x.Enqueue(() => ExecuteRuleAction(x.BatchId, operationDto, null));
                        $"- Rules Execution for batch Job Id {validationJobId} at {DateTime.UtcNow} (UTC)-",

                    // Once the rules are executed (without issues), it tries to call the rule engine again if necessary.
                      b =>
                          b.Enqueue(() => CallRulesEngine(operationDto));
                      $"- Final Step for batch Job Id {id} at {DateTime.UtcNow} (UTC) -",

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.