ensembl-hive  2.5
Bio::EnsEMBL::Hive::Meadow Class Reference
+ Inheritance diagram for Bio::EnsEMBL::Hive::Meadow:

Public Member Functions

public get_meadow_major_version ()
 
public get_meadow_version ()
 
public check_version_compatibility ()
 
public new ()
 
protected _init_meadow ()
 
public cached_name ()
 
public type ()
 
public get_current_hostname ()
 
public signature ()
 
public pipeline_name ()
 
public runWorker_path ()
 
public job_name_prefix ()
 
public job_array_common_name ()
 
public name ()
 
public get_current_worker_process_id ()
 
public status_of_all_our_workers ()
 
public check_worker_is_alive_and_mine ()
 
public kill_worker ()
 
public parse_report_source_line ()
 
public get_report_entries_for_process_ids ()
 
public get_report_entries_for_time_interval ()
 
public submit_workers_return_meadow_pids ()
 
public run_on_host ()
 
- Public Member Functions inherited from Bio::EnsEMBL::Hive::Configurable
public config ()
 
public context ()
 
public config_get ()
 
public config_set ()
 

Detailed Description

Description

    Meadow is an abstract interface to the queue manager.

    A Meadow knows how to check&change the actual status of Workers on the farm.

Definition at line 12 of file Meadow.pm.

Member Function Documentation

◆ _init_meadow()

protected Bio::EnsEMBL::Hive::Meadow::_init_meadow ( )

Undocumented method

Code:
click to view

◆ cached_name()

public Bio::EnsEMBL::Hive::Meadow::cached_name ( )
    Title   :  cached_name
    Function:  Wrapper around name() that caches its return value.
               This is because (1) it can be expensive to get the name
               (e.g. calling an external command), and (2) the name of a
               Meadow is not expected to change through the life of the
               agent.
 
Code:
click to view

◆ check_version_compatibility()

public Bio::EnsEMBL::Hive::Meadow::check_version_compatibility ( )

Undocumented method

Code:
click to view

◆ check_worker_is_alive_and_mine()

public Bio::EnsEMBL::Hive::Meadow::check_worker_is_alive_and_mine ( )
    Title   :  check_worker_is_alive_and_mine
    Function:  Tells whether the given worker lives in the current Meadow
               and belongs to the current user.
 
Code:
click to view

◆ get_current_hostname()

public Bio::EnsEMBL::Hive::Meadow::get_current_hostname ( )
    Title   :  get_current_hostname
    Function:  Returns the "current" hostname (most UNIX-based Meadows will simply use this base method)
 
Code:
click to view

◆ get_current_worker_process_id()

public Bio::EnsEMBL::Hive::Meadow::get_current_worker_process_id ( )
    Title   :  get_current_worker_process_id
    Function:  Called by a worker to find its process_id. At any point in
               time, the triple (meadow_type, meadow_name, process_id)
               should be unique
 
Code:
click to view

◆ get_meadow_major_version()

public Bio::EnsEMBL::Hive::Meadow::get_meadow_major_version ( )

Undocumented method

Code:
click to view

◆ get_meadow_version()

public Bio::EnsEMBL::Hive::Meadow::get_meadow_version ( )

Undocumented method

Code:
click to view

◆ get_report_entries_for_process_ids()

public Bio::EnsEMBL::Hive::Meadow::get_report_entries_for_process_ids ( )
    Title   :  get_report_entries_for_process_ids
    Function:  A higher-level method that gets process_ids as input and
               returns a structure like parse_report_source_line.
 
Code:
click to view

◆ get_report_entries_for_time_interval()

public Bio::EnsEMBL::Hive::Meadow::get_report_entries_for_time_interval ( )
    Title   :  get_report_entries_for_time_interval
    Function:  A higher-level method that gets a time interval as input and
               returns a structure like parse_report_source_line.
 
Code:
click to view

◆ job_array_common_name()

public Bio::EnsEMBL::Hive::Meadow::job_array_common_name ( )
    Title   :  job_array_common_name
    Function:  More specific version of job_name_prefix() that returns
               the actual name that agents should have at a specific
               beekeeper loop.
 
Code:
click to view

◆ job_name_prefix()

public Bio::EnsEMBL::Hive::Meadow::job_name_prefix ( )
    Title   :  job_name_prefix
    Function:  Tells how the agents (workers) should be generally named. It
               is used to name new agents, and to find our own agents.
 
Code:
click to view

◆ kill_worker()

public Bio::EnsEMBL::Hive::Meadow::kill_worker ( )
    Title   :  kill_worker
    Function:  Kill a worker.
 
Code:
click to view

◆ name()

public Bio::EnsEMBL::Hive::Meadow::name ( )
    Title   :  name
    Function:  Returns the name of the Meadow (which excludes the Meadow type)
 
Code:
click to view

◆ new()

public Bio::EnsEMBL::Hive::Meadow::new ( )
    Title   :  new (constructor)
    Function:  Instantiates a new Meadow object
 
Code:
click to view

◆ parse_report_source_line()

public Bio::EnsEMBL::Hive::Meadow::parse_report_source_line ( )
    Title   :  parse_report_source_line
    Function:  Opens and parses a file / command-line to return the
               resource-usage of some workers. Should return a hashref
               where process_id is the key to a hashref composed of:
                 when_died
                 pending_sec
                 exception_status
                 cause_of_death
                 lifespan_sec
                 mem_megs
                 cpu_sec
                 exit_status
                 swap_megs
 
Code:
click to view

◆ pipeline_name()

public Bio::EnsEMBL::Hive::Meadow::pipeline_name ( )
    Title   :  pipeline_name
    Function:  Getter/setter for the name of the current pipeline.
               This method is used by other Meadow methods such as
               job_name_prefix().
 
Code:
click to view

◆ run_on_host()

public Bio::EnsEMBL::Hive::Meadow::run_on_host ( )
    Title   :  run_on_host
    Function:  Runs an arbitrary commands on the given host. The host is expected to belong to the meadow and be reachable
 
Code:
click to view

◆ runWorker_path()

public Bio::EnsEMBL::Hive::Meadow::runWorker_path ( )
    Title   :  runWorker_path
    Function:  Getter for the path to runWorker.pl
               This is now set in the JSON config file. When missing or set to null,
               defaults to $EHIVE_ROOT_DIR/scripts
 
Code:
click to view

◆ signature()

public Bio::EnsEMBL::Hive::Meadow::signature ( )
    Title   :  signature
    Function:  The "signature" of a Meadow is its unique identifier across
               the Valley.
 
Code:
click to view

◆ status_of_all_our_workers()

public Bio::EnsEMBL::Hive::Meadow::status_of_all_our_workers ( )
    Title   :  status_of_all_our_workers
    Function:  Returns an arrayref of arrayrefs [worker_pid, meadow_user, status, rc_name]
               listing the workers that this Meadow can see.
               Allowed statuses are "RUN", "PEND", "SSUSP", "UNKWN"
 
Code:
click to view

◆ submit_workers_return_meadow_pids()

public Bio::EnsEMBL::Hive::Meadow::submit_workers_return_meadow_pids ( )
    Title   :  submit_workers_return_meadow_pids
    Function:  Submit $required_worker_count workers with the command $worker_cmd and return the meadow-specific worker_pids
 
Code:
click to view

◆ type()

public Bio::EnsEMBL::Hive::Meadow::type ( )
    Title   :  type
    Function:  The "type" of a Meadow is basically its job management
               system. eHive comes with two Meadows: Platform LSF (type
               "LSF"), and a default fork()-based (type "LOCAL"). Other
               meadows can be implemented provided that they follow the
               right interface.
 
Code:
click to view

The documentation for this class was generated from the following file: