JobSubmitter - dmwm/WMCore GitHub Wiki

The JobSubmitter has a simple task, yet it is quite convoluted in its implementation. In a nutshell, the JobSubmitter looks for jobs in created state in WMBS and submits them according to available resources.

The algorithm is:

  • Retrieve the job objects from WMBS and load all the database information for it.
  • Retrieve the pickled filed on disk for the loaded jobs.
  • Cache this information in main memory in case that the jobs are not submitted in this cycle. (Cache refresh condition is configurable. i.e. it went below the cache limit, if cache is not refreshed several cycle)
  • Retrieve the resource thresholds from the database and substract the current job counts for each site.
  • Submit jobs respecting request and subscription type priorities to the configured batch system until the resources are fully utilized or the available jobs are exhausted.

In normal operation, the cycles will continue and the submitter will keep the queues filled according to the pending slots thresholds. The jobs are moved from created to executing state in this component, however in case of error they are moved to submitfailed.