我有一个火灾队列,忘记了工作,我的队列配置为每10分钟执行一次,如下所示:
var options = new SqlServerStorageOptions
{
QueuePollInterval = TimeSpan.FromMinutes(10)
};
虽然这些工作“火上浇油”但我不想等待10分钟,我现在想要处理这个队列。怎么做?
答案 0 :(得分:3)
我假设您的意思是要保持代码不变(使用10分钟的PollingInterval)但是需要一种机制来强制作业在需要时立即运行 - 在这种情况下我认为您应该能够使用Hangfire Dashboard UI,您可以在其中查看所有作业的详细分类,以及立即重试/触发等。
要安装它,只需添加Nuget包:Hangfire.Dashboard.Authorization
然后从以下链接添加适合您的应用类型的配置 - 通常正常工作。 http://docs.hangfire.io/en/latest/configuration/using-dashboard.html
更新 - WinForms
对于WinForms项目,我认为您最好的选择仍然是仪表板(您可以在应用程序中托管在本地主机上的OWIN服务器中 - 它比您想象的更容易)
以下是一些参考文献: