Source code for mersal.threading.anyio.anyio_periodic_async_task_factory

from mersal.logging import Logger
from mersal.threading.periodic_async_task import PeriodicAsyncTask
from mersal.threading.periodic_async_task_factory import PeriodicAsyncTaskFactory
from mersal.types import AsyncAnyCallable

from .anyio_periodic_async_task import AnyIOPeriodicTask

__all__ = ("AnyIOPeriodicTaskFactory",)


[docs] class AnyIOPeriodicTaskFactory(PeriodicAsyncTaskFactory):
[docs] def __init__(self, logger: Logger) -> None: self.logger = logger
def __call__(self, description: str, task: AsyncAnyCallable, period: float) -> PeriodicAsyncTask: return AnyIOPeriodicTask( description=description, task=task, period=period, logger=self.logger, )