Failed Jobs

Every once in awhile, a job may fail. The reason for a job failure largely depends on the associated action and what work the action is carrying out. For example if a job is publishing an asset to YouTube and the network is temporarily down, the job will certainly fail.

Once an action has been executed, a job will be created. If the job fails, then the job will be marked as failed. (In addition, if a job is associated with a workflow instance, the workflow instance will also be marked as failed).

The Failed Jobs section provides a list of all jobs that been failed in Dalet Flex.

You will see two failed jobs links in the jobs tab. One above the Job Summary section, and another on the Toolbar. When you click on these links, you will be taken to a job search results screen with search fields pre-populated to show all failed jobs. From this view you can easily enable Bulk actions to cancel or retry one or many failed jobs.

When a job failure occurs, you have two options available:

  • Retry the Job: This sets the state to queued so the job scheduler can try to run it again. When this happens the retry count is incremented by one.
  • Cancel the Job: This sets the job to cancelled and it can no longer be retried.

The relationship between workflows instances and jobs is a very powerful one. It means that a workflow instance can only fail if a job fails, and that a failure is isolated to a job. The transactional nature of a job means that as soon as it is retried successfully and completes, the workflow state will be retained and the workflow instance will continue to run from where it left off.

When a job fails, you can access information about why a job failed by consulting the History tab in the Job Details view. History entries in red are those events that are associated with a job failure.

Ignoring Job Failures

A script command can be used in the event of a job failing. If the job fails, and the failure can be ignored, you can set a variable in the script’s job context as follows:

context.setJobStringVariable("ignoreJobFailure", "true")