2016-03-09 48 views
0

有沒有辦法找到工作不是是否出現在成功的作業列表中?過濾器Hangfire成功完成作業列表

我現在有2個重複性作業設置如下:

RecurringJob.AddOrUpdate("myQuickJob",() => CallRemoteService(quickCheckUrl)), Cron.Minutely()); 

RecurringJob.AddOrUpdate("myDailyJob",() => CallRemoteService(dailyJobUrl)), Cron.Daily(0)); 

一個是每天預定作業另一種是快速平工作。我真的只對日常工作的結果(成功/失敗)感興趣,而不是快速的工作。 正如你所想象的那樣,快速工作的結果很快就填滿了數百個成功的電話,其中我不感興趣,並且很難隔離日常工作。

那麼,有沒有一種方法:

  1. 關閉快速工作
  2. 的作業日誌/顯示有作業的名稱列表中顯示出來。

我的工作清單隻顯示像所有的條目:

#238 Startup.CallRemoteService 7.234s 13 minutes ago 
#237 Startup.CallRemoteService 7.424s 23 minutes ago 

所以我不能myQuickJobmyDailyJob區分。作業名稱可以在列表中更改,所以我看到myDailyJob而不是Startup.CallRemoteService

TA

回答

0

首先,關於你的第二個問題的答案很簡單:使用代理服務器的方法如下

RecurringJob.AddOrUpdate(
       "myQuickJob", 
       () => CallRemoteServiceQuickCheck(quickCheckUrl)), Cron.Minutely()); 
//          ^^^^^^^^^^ 
RecurringJob.AddOrUpdate(
       "myDailyJob", 
       () => CallRemoteService(dailyJobUrl)), Cron.Daily(0)); 

[...] 
public void CallRemoteServiceQuickCheck(Uri url) { 
    CallRemoteService(url)); 
} 

和你的日誌會像

#238 Startup.CallRemoteServiceQuickCheck 7.234s 13 minutes ago 
#237 Startup.CallRemoteService   7.424s 23 minutes ago 

現在對於你的其他問題,它更棘手。

 Hangfire.Dashboard.JobsSidebarMenu.Items.Add(
      (rp) => { 
       var filteredSuccededUrl = "[your_url_here]"; 
       return new Hangfire.Dashboard.MenuItem("FilteredSucceded", 
                 filteredSuccededUrl); }); 

你可以擁有這點您選擇的網址: ,你初始化你的應用程序,我thinkthe最簡單的辦法是將儀表盤的左側窗格中添加一個新的菜單項「過濾Succeded」如下。不理想,但你有成功頁面的源代碼,你可以用它來創建你的新頁面here

相關問題