Job Rescheduling: Setting the job status and perform the rescheduling operation in a single command
Currently, there is a distinct separation in our workflow between marking a job as RESCHEDULED and performing the rescheduling action itself. This means if one process encounters an error, the other can still proceed without issue. This separation introduces complexity and potential points of failure.
https://github.com/DIRACGrid/DIRAC/blob/80ea4049d6491da7bf553be6a5c67e0680865f0a/src/DIRAC/WorkloadManagementSystem/Agent/JobAgent.py#L833-L837
We could streamline this process by integrating the status update directly within the JobManager. This integration would necessitate adding a 'reason' parameter to the interface to accommodate detailed reporting on why a job was rescheduled. This would not only simplify the workflow but also provide a clearer, more concise handling of job statuses.
This change would require modifications to the interface, both in DIRAC and diracx. Any thought?
I don't see any issue with that, just it would need to target v9.
As it is a "virtual" status that does nothing, I close the issue.