Optimization of Asset Job Handling in CAR

Asset Job Handling Issue

When executing scripts, the system creates asset jobs for all the assets selected during script or schedule creation. However, if an asset is unresponsive or the script fails to execute on an asset, the asset gets stuck in one of the pending states. In the case of recurring schedules, the system continues to generate new asset jobs for the same asset during each scheduled run. This continuous generation of new asset jobs for such assets leads to excessive job accumulation, which affects system performance.

The pending state of an asset job includes the following statuses: 

  • MANIFEST_GENERATION_IN_PROGRESS

  • MANIFEST_PUBLISHED

  • MANIFEST_ASSIGNED

  • MANIFEST_DOWNLOAD_SUCCESS

  • MANIFEST_PARSE_SUCCESS

  • MANIFEST_EXECUTION_SUCCESS

Optimized Asset Job Handling

During script execution, the system reviews the last known status of each asset job from the previous execution of the same script. If an asset's last job is stuck in a pending state, the system does not allow the script to be executed on that asset. Only assets with a completed or failed job status are eligible for new job creation.

If an asset job is in a pending state, no new asset job is created for that asset on the next execution of the same script within 14 days from the last execution.

The final state includes the following statuses:

  • MANIFEST_EXPIRED
  • EXECUTION FAILED
  • EXECUTION PASSED
  • MANIFEST_DOWNLOAD_FAILED
  • MANIFEST_PARSE_FAILED
  • MANIFEST_EXECUTION_FAILED
  • SCRIPT_RESULT_UPLOAD_FAILED
  • REBOOT_PENDING
  • REBOOT_COMPLETED