我正在做一个项目,它的目的是每隔一段时间执行任务。
任务及其属性可以通过配置网站进行配置。数据存储在配置数据库中。Windows-Service在启动时从配置数据库加载所有数据,然后相应地执行任务:

这意味着,为了应用新的更改,我必须重新启动服务。随之而来的问题有几个:
每次更改之后,我都可以重新启动服务,这可能有点过火了。我还可以给用户重新启动服务的“责任”。我的目标群体不是一些随机的客户,他们也是Sysadmins,所以他们知道该怎么做。我仍然需要提到,有一些“未应用”的变化。
我的网站和服务之间没有直接的沟通。无论何时重新启动可能意味着它将在执行任务时停止服务;显然不好。在完成所有正在进行的任务之后,我需要以某种方式排队重新启动,但我不知道如何从一开始就实现这一点。
发布于 2021-11-23 10:10:22
其他替代办法:
投票(1)
定期从数据库读取任务配置。
投票(2)
在数据库中轮询配置更改时设置的“标志”,如果该标志已更改,则重新读取任务配置。
暂停/恢复
除了停止和启动之外,Windows服务还响应另外两个动词:暂停和恢复。
您可以使用这些“信号”到服务重新读取配置(作为简历处理的一部分)。
(好,我已经有一段时间没有这样做了),但我似乎记得‘暂停服务可以继续运行有用的东西,所以您可以暂停和恢复服务而不完全关闭服务。
https://softwareengineering.stackexchange.com/questions/433741
复制相似问题