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

Posted

技术标签:

【中文标题】如何在 minos 中向服务添加定期任务?【英文标题】:How to add a periodic task to a Service in minos? 【发布时间】:2022-01-20 06:19:34 【问题描述】:

我想向我的minos.cqrs.Service 添加一个方法,以便在每天上午 9:00 执行。我该怎么做?

这是我当前的代码:

from minos.cqrs import Service


class MyService(Service):

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

【问题讨论】:

【参考方案1】:

要向minos.cqrs.Service 类添加周期性任务,您可以创建一个标准处理方法并使用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...")

【讨论】:

以上是关于如何在 minos 中向服务添加定期任务?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Django 中向模型添加临时字段?

如何在SQL Server报表生成器中向堆积条形图添加自定义指标行

如何在 ECR 源管道中向 CodeDeploy 提供 AppSpec 和任务定义

如何在Windows 8应用程序中向HttpWebRequest添加标头?

如何从 minos 中的 RestRequest 访问 aiohttp 的请求

使用定期任务在 C# 中构建 Windows 服务 [重复]