xqute.scheduler
abstract class
xqute.scheduler.
Scheduler
(
workdir
, forks=1
, error_strategy='ignore'
, num_retries=3
, prescript=''
, postscript=''
, jobname_prefix=None
, **kwargs
)
The abstract class for scheduler
Attributes
jobcmd_wrapper_init
— The init script for the job command wrapperjobcmd_wrapper_init
(str) — The init script for the job command wrapper</>name
— The name of the scheduler
Parameters
workdir
(Union) — The working directoryforks
(int, optional) — Max number of job forkserror_strategy
(str, optional) — The strategy when there is error happenednum_retries
(int, optional) — Max number of retries when error_strategy is retryprescript
(str, optional) — The prescript to run before the job commandIt is a piece of script that inserted into the wrapper script, running on the scheduler system.postscript
(str, optional) — The postscript to run when job finishedIt is a piece of script that inserted into the wrapper script, running on the scheduler system.jobname_prefix
(str | none, optional) — The prefix for the job name**kwargs
— Other arguments for the scheduler
Methods
create_job
(
index
,cmd
)
(Job) — Create a job</>job_is_running
(
job
)
(bool) — Check if a job is really running</>job_is_submitted_or_running
(
job
)
(bool) — Check if a job is already submitted or running</>jobcmd_end
(
job
)
(str) — The job command end</>jobcmd_init
(
job
)
(str) — The job command init</>jobcmd_prep
(
job
)
(str) — The job command preparation</>jobcmd_shebang
(
job
)
(str) — The shebang of the wrapper script</>kill_job
(
job
)
— Kill a job</>kill_job_and_update_status
(
job
)
— Kill a job and update its status</>kill_running_jobs
(
jobs
)
— Try to kill all running jobs</>polling_jobs
(
jobs
,on
)
(bool) — Check if all jobs are done or new jobs can submit</>retry_job
(
job
)
— Retry a job</>submit_job
(
job
)
(int | str) — Submit a job</>submit_job_and_update_status
(
job
)
— Submit and update the status</>wrap_job_script
(
job
)
(str) — Wrap the job script</>wrapped_job_script
(
job
,remote
)
(Union) — Get the wrapped job script</>
method
submit_job_and_update_status
(
job
)
Submit and update the status
- Check if the job is already submitted or running
- If not, run the hook
- If the hook is not cancelled, clean the job
- Submit the job, raising an exception if it fails
- If the job is submitted successfully, update the status
- If the job fails to submit, update the status and write stderr to the job file
Parameters
job
(Job) — The job
method
polling_jobs
(
jobs
, on
)
Check if all jobs are done or new jobs can submit
Parameters
jobs
(List) — The list of jobson
(str) — query on status:submittable
orall_done
Returns (bool)
True if yes otherwise False.
method
kill_running_jobs
(
jobs
)
Try to kill all running jobs
Parameters
jobs
(List) — The list of jobs
method
jobcmd_shebang
(
job
)
→ str
The shebang of the wrapper script
method
jobcmd_init
(
job
)
→ str
The job command init
method
jobcmd_prep
(
job
)
→ str
The job command preparation
method
jobcmd_end
(
job
)
→ str
The job command end