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,
)