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