aiida-core
aiida-core copied to clipboard
`Scheduler`: Refactor interface to make it more generic
New interface makes fewer assumptions about how an implementation should submit or kill job, or how information about active jobs is to be retrieved.
As mentioned, this is working with https://github.com/aiidateam/aiida-firecrest
In principle, these methods should no longer be required on the transport, but not needed for this PR: https://github.com/aiidateam/aiida-firecrest/blob/eb7f7518857794a99bae3568c74f0981b695dd79/aiida_firecrest/transport.py#L521-L533
Also, as a follow-up for the transport, here I moved the currently hard-coded verdi computer test logic onto the transport, since some tests are specific to a "bash-type" transport: https://github.com/chrisjsewell/aiida_core/blob/092bf00c327e213b3de3fc1650df54218a88df54/aiida/client/implementation.py#L74
@sphuber I tried this PR to submit a job using aiida-firecrests on CSCS, and it works. If you think of any set of specific manual testing that you think it might be important to check, let me know, and I'll check.