cobald.daemon.runners.meta_runner module

class cobald.daemon.runners.meta_runner.MetaRunner[source]

Bases: object

Unified interface to schedule subroutines and coroutines for concurrent execution

register_payload(*payloads, flavour: module)[source]

Queue one or more payloads for execution after its runner is started

run()[source]

Run all runners, blocking until completion or error

run_payload(payload, *, flavour: module)[source]

Execute one payload and return its output

This method will block until the payload is completed. It is an error to call it during initialisation before the runners are started.

runner_types = (<class 'cobald.daemon.runners.trio_runner.TrioRunner'>, <class 'cobald.daemon.runners.asyncio_runner.AsyncioRunner'>, <class 'cobald.daemon.runners.thread_runner.ThreadRunner'>)
property runners
stop()[source]

Stop all runners