如何在 minos 中向服务添加周期性任务?

How to add a periodic task to a Service in minos?

我想在我的 minos.cqrs.Service 中添加一个每天在 9:00 AM 执行的方法。我该怎么做?

这是我当前的代码:

from minos.cqrs import Service


class MyService(Service):

    async def task(self) -> None:
        print("Running periodic task...")

要向minos.cqrs.Service class 添加周期性任务,您可以创建一个标准处理方法并使用minos.networks 中的@enroute.periodic.event 装饰器装饰它并传递它一个有效的 cron 表达式作为参数(0 9 * * * 在你的例子中)。

这是一个例子:

from minos.cqrs import Service
from minos.networks import Request, enroute


class MyService(Service):

    @enroute.periodic.event("0 9 * * *")
    async def task(self, request: Request) -> None:
        print("Running periodic task...")