ServiceStack中的后台服务



我有一个应用程序w. AppHost(在Startup.cs内部)和一个Configure.Db.cs文件。我想运行一个后台服务(基于定时器)来例行地做一些事情,除了提供服务。

如果我在Apphost的Configure()中添加定时器,它在Configure.Db之前运行,我遇到了一个问题,因为后台服务依赖于要配置的Db。

编辑:我刚刚发现有可能指定模块化启动的顺序:https://docs.servicestack.net/modular-startup#modular-startup-prioritization这意味着我可以强制Configure.db在Apphost之前运行。

不管怎样,我做错了吗?我是否应该有一个单独的AppHost来处理后台任务?

我建议配置一个后台MQ服务来在后台执行服务。

您可以通过添加mix

来查看如何使用hangfire来实现这一点
x mix hangfire-postgres

这将允许您添加在后台按cron计划启动的服务。

要使它在没有数据库的情况下工作,您需要将postgres提供程序更改为内存提供程序:https://github.com/perrich/Hangfire.MemoryStorage

最新更新