2017-07-18 62 views
1

我有火的隊列,忘記工作和我的隊列被配置爲執行每隔10分鐘,這樣的:如何強制Hangfire現在處理隊列?

var options = new SqlServerStorageOptions 
{ 
    QueuePollInterval = TimeSpan.FromMinutes(10) 
}; 

雖然工作是「射後不理」我不想等10分鐘,我現在想要處理隊列。這個怎麼做?

+0

您能否將'TimeSpan.FromMinutes(10)'更改爲'TimeSpan.FromSeconds(10)'?或者使用Redis來代替?另請參閱http://docs.hangfire.io/en/latest/configuration/using-sql-server.html#configuring-the-polling-interval。 – mjwills

+0

我想保留配置,但有時需要強制現在處理隊列。我需要使用SqlServer – Ewerton

回答

3

我假設你的意思是說你想保持你的代碼(與10分鐘的PollingInterval),但需要一個機制來強制作業立即運行時 - 在這種情況下,我認爲你應該能夠使用在遲髮型儀表板界面,在這裏你可以看到所有任務的詳細分類,以及現在的重試/觸發器等

要安裝它,只需添加NuGet包:Hangfire.Dashboard.Authorization

,然後加入適當的配置從以下鏈接到您的應用類型 - 它正常只是工作。 http://docs.hangfire.io/en/latest/configuration/using-dashboard.html

更新 - 的WinForms

對於WinForms項目,我覺得你最好的選擇仍然是儀表板(您可以在託管在您的本地主機的OWIN服務器託管從你的應用程序中 - 它比更容易你可能會認爲)

這裏有幾個引用:

+0

它是一個WinForms項目 – Ewerton

+0

我正在使用儀表板,但僅用於調試和故障排除pourposes,我需要通過自定義代碼來處理隊列。 – Ewerton

+0

我不知道有辦法做到這一點 - 你可以嘗試在[Hangfire論壇]上提問(https://discuss.hangfire.io/) – Steveland83