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 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 all runners