dm_job Module

Observation job and job list. Access to job lists is not thread-safe.


Uses

  • module~~dm_job~~UsesGraph module~dm_job dm_job module~dm_error dm_error module~dm_job->module~dm_error module~dm_id dm_id module~dm_job->module~dm_id module~dm_observ dm_observ module~dm_job->module~dm_observ module~dm_ascii dm_ascii module~dm_error->module~dm_ascii module~dm_kind dm_kind module~dm_error->module~dm_kind module~dm_observ->module~dm_error module~dm_observ->module~dm_id module~dm_observ->module~dm_kind module~dm_node dm_node module~dm_observ->module~dm_node module~dm_request dm_request module~dm_observ->module~dm_request module~dm_response dm_response module~dm_observ->module~dm_response module~dm_sensor dm_sensor module~dm_observ->module~dm_sensor module~dm_target dm_target module~dm_observ->module~dm_target module~dm_time dm_time module~dm_observ->module~dm_time module~dm_util dm_util module~dm_observ->module~dm_util module~dm_uuid dm_uuid module~dm_observ->module~dm_uuid iso_fortran_env iso_fortran_env module~dm_kind->iso_fortran_env module~dm_node->module~dm_id module~dm_node->module~dm_kind module~dm_request->module~dm_error module~dm_request->module~dm_id module~dm_request->module~dm_kind module~dm_request->module~dm_response module~dm_request->module~dm_time module~dm_request->module~dm_util module~dm_string dm_string module~dm_request->module~dm_string module~dm_response->module~dm_error module~dm_response->module~dm_id module~dm_response->module~dm_kind module~dm_response->module~dm_util module~dm_sensor->module~dm_id module~dm_sensor->module~dm_kind module~dm_sensor->module~dm_node module~dm_target->module~dm_id module~dm_target->module~dm_kind module~dm_target->module~dm_util module~dm_time->module~dm_error module~dm_time->module~dm_kind module~dm_time->module~dm_util module~dm_util->module~dm_error module~dm_util->module~dm_kind module~dm_string->module~dm_error module~dm_string->module~dm_kind

Used by

  • module~~dm_job~~UsedByGraph module~dm_job dm_job module~dmpack dmpack module~dmpack->module~dm_job

Derived Types

type, public ::  job_type

Job type that stores an observation for future processing.

Components

Type Visibility Attributes Name Initial
integer, public :: delay = 0

Time in msec to wait before next job.

logical, public :: disabled = .false.

Ignore job.

logical, public :: onetime = .false.

Disable job after first execution.

logical, public :: valid = .false.

Job has observation prototype?

type(observ_type), public :: observ

Prototype observation to be executed.

type, public ::  job_list_type

Opaque job list type.


Functions

public function dm_job_list_add(job_list, job) result(rc)

Adds job to job list at the next free index in job array.

Read more…

Arguments

Type IntentOptional Attributes Name
type(job_list_type), intent(inout) :: job_list

Job list type.

type(job_type), intent(inout) :: job

Job type to add to list.

Return Value integer

public function dm_job_list_any(job_list) result(has)

Returns .true. if job list contains any enabled jobs.

Arguments

Type IntentOptional Attributes Name
type(job_list_type), intent(inout) :: job_list

Job list type.

Return Value logical

public function dm_job_list_count(job_list, disabled) result(n)

Returns number of (enabled) jobs in job list.

Arguments

Type IntentOptional Attributes Name
type(job_list_type), intent(inout) :: job_list

Job list type.

logical, intent(in), optional :: disabled

Include disabled jobs.

Return Value integer

public function dm_job_list_init(job_list, n) result(rc)

Initialises job list. The function returns E_ALLOC on error.

Arguments

Type IntentOptional Attributes Name
type(job_list_type), intent(out) :: job_list

Job list type.

integer, intent(in) :: n

Maximum number of jobs to hold.

Return Value integer

public function dm_job_list_next(job_list, job, index, disabled, revolved) result(rc)

Returns copy of next enabled job. If disabled is .true., the next job is returned regardless of state. One-time jobs are disabled by this function. If the job list has been finished and restarted from the beginning, revolved is set to .true..

Read more…

Arguments

Type IntentOptional Attributes Name
type(job_list_type), intent(inout) :: job_list

Job list type.

type(job_type), intent(out) :: job

Job type.

integer, intent(out), optional :: index

Position in job list.

logical, intent(in), optional :: disabled

Return disabled job.

logical, intent(out), optional :: revolved

Job list was revolved.

Return Value integer

public function dm_job_list_size(job_list, njobs) result(sz)

Returns size of job list array.

Arguments

Type IntentOptional Attributes Name
type(job_list_type), intent(inout) :: job_list

Job list type.

integer, intent(out), optional :: njobs

Number of jobs in job list.

Return Value integer


Subroutines

public subroutine dm_job_list_destroy(job_list)

Deallocates job list.

Arguments

Type IntentOptional Attributes Name
type(job_list_type), intent(inout) :: job_list

Job list type.