Redis Queue and Registry Management

Unified interface to multiple Redis Databases.

class vivarium_cluster_tools.psimulate.redis_dbs.registry.QueueManager(name, connection)[source]
Parameters:
retries_before_fail = 10
backoff = 30
property name: str
property failed: bool
property completed: bool
property jobs_to_finish: bool
enqueue(jobs, workhorse_import_path)[source]
Parameters:
  • jobs (List[dict]) –

  • workhorse_import_path (str) –

Return type:

None

get_results()[source]
Return type:

List

update_and_report()[source]
Return type:

Dict[str, int]

class vivarium_cluster_tools.psimulate.redis_dbs.registry.RegistryManager(redis_processes, submitted_workers, num_already_completed)[source]
Parameters:
  • redis_processes (List[Tuple[str, int]]) –

  • submitted_workers (int) –

  • num_already_completed (int) –

property jobs_to_finish: bool
enqueue(jobs, workhorse_import_path)[source]
Parameters:
  • jobs (List[Dict]) –

  • workhorse_import_path (str) –

Return type:

None

allocate_jobs(jobs)[source]

Allocate jobs to queues in a round robin fashion.

Parameters:

jobs (List[Dict]) –

Return type:

Iterator[List[Dict]]

get_results()[source]
Return type:

List

update_and_report()[source]
Return type:

Dict[str, int | float]