Skip to content

feat: replace plugin system with commands and dirac:Job hint#127

Draft
ryuwd wants to merge 3 commits intoDIRACGrid:mainfrom
ryuwd:feat/cwl-job-submission
Draft

feat: replace plugin system with commands and dirac:Job hint#127
ryuwd wants to merge 3 commits intoDIRACGrid:mainfrom
ryuwd:feat/cwl-job-submission

Conversation

@ryuwd
Copy link
Copy Markdown
Contributor

@ryuwd ryuwd commented Apr 2, 2026

  • Replace ExecutionHooksBasePlugin/QueryBasedPlugin/registry with the commands system.

  • run_job() now reads the dirac:Job hint via JobHint from diracx-core and builds StoreOutputCommand for output storage.

  • Commands are now async.

  • convert_to_jdl() deprecated in favour of diracx-logic.

  • Job wrapper template fetches CWL and params from diracX API instead of reading job.json from sandbox.

ryuwd added 3 commits April 2, 2026 13:29
Replace ExecutionHooksBasePlugin/QueryBasedPlugin/registry with the
commands system. run_job() now reads the dirac:Job hint via JobHint
from diracx-core and builds StoreOutputCommand for output storage.
Commands are now async. convert_to_jdl() deprecated in favour of
diracx-logic. Job wrapper template fetches CWL and params from
diracX API instead of reading job.json from sandbox.
The worker retrieves workflow_id and workflow_params directly from
the diracX API via get_single_job, removing the need for WorkflowID
to be passed through the JDL or job config JSON.
# input.yaml
helper_script:
class: File
path: "SB:SandboxSE|/S3/diracx-sandbox-store/sha256:abc123.tar.zst:helper.sh"
Copy link
Copy Markdown
Contributor

@natthan-pigoux natthan-pigoux Apr 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm wondering if we shouldn't use the File location: instead of path: to provide the sandbox url and keep path just with a local path.

Since the CWL definition says The location may refer to a local or remote resource; it seems closer to what is used here. What do you think?

We could think of something similar for the input/output data as well.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great point! I am fixing it right now in DIRACGrid/diracx#877

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to leave comments on the PR DIRACGrid/diracx#877 as there you will find the most up to date implementation details

Comment thread src/dirac_cwl/job/job_wrapper.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants