我有一个应用程序w. AppHost(在Startup.cs
内部)和一个Configure.Db.cs
文件。我想运行一个后台服务(基于定时器)来例行地做一些事情,除了提供服务。
如果我在Apphost的Configure()
中添加定时器,它在Configure.Db
之前运行,我遇到了一个问题,因为后台服务依赖于要配置的Db。
编辑:我刚刚发现有可能指定模块化启动的顺序:https://docs.servicestack.net/modular-startup#modular-startup-prioritization这意味着我可以强制Configure.db
在Apphost之前运行。
我建议配置一个后台MQ服务来在后台执行服务。
您可以通过添加mix
来查看如何使用hangfire来实现这一点x mix hangfire-postgres
这将允许您添加在后台按cron计划启动的服务。
要使它在没有数据库的情况下工作,您需要将postgres提供程序更改为内存提供程序:https://github.com/perrich/Hangfire.MemoryStorage