schrodinger.application.job_monitor.job_monitor_models module

class schrodinger.application.job_monitor.job_monitor_models.RequestedStatus

Bases: enum.Enum

NONE = 1
STOP = 2
CANCEL = 3
class schrodinger.application.job_monitor.job_monitor_models.DownloadStatus

Bases: enum.Enum

DOWNLOAD_PENDING = 1
DOWNLOADED = 2
class schrodinger.application.job_monitor.job_monitor_models.JobModel(*args, _param_type=<object object>, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

Model class containing all job details that are relevant to the panel

job_name: str

A parameter of the class.

job_id: str

A parameter of the class.

parent_job_id: str

A parameter of the class.

sub_job_ids: List[str]

A parameter of the class.

program: str

A parameter of the class.

host: str

A parameter of the class.

directory: str

A parameter of the class.

job_started: float

A parameter of the class.

project_name: str

A parameter of the class.

max_progress: float

A parameter of the class.

files: List[str]

A parameter of the class.

logfiles: List[str]

A parameter of the class.

current_progress: float

A parameter of the class.

last_updated: int

A parameter of the class.

status: schrodinger.job.jobcontrol.DisplayStatus

A parameter of the class.

relative_id: int

A parameter of the class.

job_index: int

A parameter of the class.

launch_time: str

A parameter of the class.

requested_status: schrodinger.application.job_monitor.job_monitor_models.RequestedStatus

A parameter of the class.

download_status: schrodinger.application.job_monitor.job_monitor_models.DownloadStatus

A parameter of the class.

property is_top_level_job

Top level jobs are jobs which are started by user as opposed to being spawned by another job

property is_active

Return whether the job is active.

property is_null_job
static fromJobObject(job)

Convert a Job object into a JobModel, with the necessary info taken from the job record

Parameters

job (schrodinger.job.jobcontrol.Job) – The backend job object

Returns

A Job model with the info needed by GUI

Return type

JobModel

property is_downloaded
current_progressChanged

A pyqtSignal emitted by instances of the class.

current_progressReplaced

A pyqtSignal emitted by instances of the class.

directoryChanged

A pyqtSignal emitted by instances of the class.

directoryReplaced

A pyqtSignal emitted by instances of the class.

download_statusChanged

A pyqtSignal emitted by instances of the class.

download_statusReplaced

A pyqtSignal emitted by instances of the class.

filesChanged

A pyqtSignal emitted by instances of the class.

filesReplaced

A pyqtSignal emitted by instances of the class.

hostChanged

A pyqtSignal emitted by instances of the class.

hostReplaced

A pyqtSignal emitted by instances of the class.

job_idChanged

A pyqtSignal emitted by instances of the class.

job_idReplaced

A pyqtSignal emitted by instances of the class.

job_indexChanged

A pyqtSignal emitted by instances of the class.

job_indexReplaced

A pyqtSignal emitted by instances of the class.

job_nameChanged

A pyqtSignal emitted by instances of the class.

job_nameReplaced

A pyqtSignal emitted by instances of the class.

job_startedChanged

A pyqtSignal emitted by instances of the class.

job_startedReplaced

A pyqtSignal emitted by instances of the class.

last_updatedChanged

A pyqtSignal emitted by instances of the class.

last_updatedReplaced

A pyqtSignal emitted by instances of the class.

launch_timeChanged

A pyqtSignal emitted by instances of the class.

launch_timeReplaced

A pyqtSignal emitted by instances of the class.

logfilesChanged

A pyqtSignal emitted by instances of the class.

logfilesReplaced

A pyqtSignal emitted by instances of the class.

max_progressChanged

A pyqtSignal emitted by instances of the class.

max_progressReplaced

A pyqtSignal emitted by instances of the class.

parent_job_idChanged

A pyqtSignal emitted by instances of the class.

parent_job_idReplaced

A pyqtSignal emitted by instances of the class.

programChanged

A pyqtSignal emitted by instances of the class.

programReplaced

A pyqtSignal emitted by instances of the class.

project_nameChanged

A pyqtSignal emitted by instances of the class.

project_nameReplaced

A pyqtSignal emitted by instances of the class.

relative_idChanged

A pyqtSignal emitted by instances of the class.

relative_idReplaced

A pyqtSignal emitted by instances of the class.

requested_statusChanged

A pyqtSignal emitted by instances of the class.

requested_statusReplaced

A pyqtSignal emitted by instances of the class.

statusChanged

A pyqtSignal emitted by instances of the class.

statusReplaced

A pyqtSignal emitted by instances of the class.

sub_job_idsChanged

A pyqtSignal emitted by instances of the class.

sub_job_idsReplaced

A pyqtSignal emitted by instances of the class.

schrodinger.application.job_monitor.job_monitor_models.get_null_job()

Get a null job model. The null job model’s job_id is None. The parent job of all top-level jobs is a null job. Null jobs should not be changed, and will raise an exception if they are. :return: A new null job object :rtype: JobModel

class schrodinger.application.job_monitor.job_monitor_models.JobMonitorPanelModel(*args, _param_type=<object object>, **kwargs)

Bases: schrodinger.models.parameters.CompoundParam

top_level_jobs: List[schrodinger.application.job_monitor.job_monitor_models.JobModel]

A parameter of the class.

current_top_level_job: schrodinger.application.job_monitor.job_monitor_models.JobModel

A parameter of the class.

current_job: schrodinger.application.job_monitor.job_monitor_models.JobModel

A parameter of the class.

subjobs: List[schrodinger.application.job_monitor.job_monitor_models.JobModel]

A parameter of the class.

current_project_name: str

A parameter of the class.

is_curr_project_scratch: bool

A parameter of the class.

active_jobs_only: bool

A parameter of the class.

current_project_jobs_only: bool

A parameter of the class.

status: str

A parameter of the class.

filtersInvalidated

A pyqtSignal emitted by instances of the class.

__init__(*args, **kwargs)
updateJobs(job_models)

Updates the panel model with the given job models. If the JobModel is not already in _job_dict, add it.

Parameters

job_models (List[JobModel]) – The job models to add to the panel

deleteJobs(job_ids)

Remove the deleted jobs from the model

Parameters

job_ids (list[str]) – Delete jobs’ ids

setCurrentTopLevelJob(job_model)

Set the top level job. Called when you double click on a job/row in the job table on the Jobs List pane. Used to populate to top level job bar.

Parameters

job_model (JobModel) – The new top level job model

setCurrentJob(job_model)

Set the current job being viewed in the Job Detail pane and add its subjobs to the subjobs PLP. Used to populate job info widget and subjobs table

Parameters

job_model (JobModel) – The new current job model

setTopLevelJobs(jobs)

Set the current top level jobs to be viewed and update the relative IDs of these jobs.

Parameters

jobs (list[schrodinger.job.jobcontrol.Job]) – the list of top level jobs

updateRelativeID(jobs_to_update)

Update the model with the relative IDs for the jobs being viewed in the current state.

Parameters

jobs_to_update (list[schrodinger.job.jobcontrol.Job]) – the list of jobs to be updated with the relative id

getJob(job_id)

Get job by job id

Parameters

job_id (str) – Job id of reqested job

Returns

The job model with the given job id

Return type

JobModel or NoneType

getParentJob(job_model)

Get the parent job of the given job model

Parameters

job_model (JobModel) – The job model to get the parent of

Returns

The parent’s job model, or None if the job has no parent ( i.e. it’s a top level job)

Return type

JobModel or NoneType

getAllTopLevelJobs()

Get a list of all top level jobs tracked by the panel. A job is considered top level if its parent id is None

Returns

All top level jobs, i.e. all jobs

Return type

list[JobModel]

property on_jobs_list

The GUI is on the Jobs List Pane when current_job or current_top_level_job is a null job

showJobsList()

The GUI is on the Jobs List Pane when current_job or current_top_level_job is a null job

active_jobs_onlyChanged

A pyqtSignal emitted by instances of the class.

active_jobs_onlyReplaced

A pyqtSignal emitted by instances of the class.

current_jobChanged

A pyqtSignal emitted by instances of the class.

current_jobReplaced

A pyqtSignal emitted by instances of the class.

current_project_jobs_onlyChanged

A pyqtSignal emitted by instances of the class.

current_project_jobs_onlyReplaced

A pyqtSignal emitted by instances of the class.

current_project_nameChanged

A pyqtSignal emitted by instances of the class.

current_project_nameReplaced

A pyqtSignal emitted by instances of the class.

current_top_level_jobChanged

A pyqtSignal emitted by instances of the class.

current_top_level_jobReplaced

A pyqtSignal emitted by instances of the class.

is_curr_project_scratchChanged

A pyqtSignal emitted by instances of the class.

is_curr_project_scratchReplaced

A pyqtSignal emitted by instances of the class.

statusChanged

A pyqtSignal emitted by instances of the class.

statusReplaced

A pyqtSignal emitted by instances of the class.

subjobsChanged

A pyqtSignal emitted by instances of the class.

subjobsReplaced

A pyqtSignal emitted by instances of the class.

top_level_jobsChanged

A pyqtSignal emitted by instances of the class.

top_level_jobsReplaced

A pyqtSignal emitted by instances of the class.