2015-06-11 5 views
13

मैं पृष्ठभूमि में एक पुनरावर्ती नौकरी चलाने के लिए हैंगफायर का उपयोग करने की कोशिश कर रहा हूं जो किसी अन्य वेबसाइट से डेटा का चुनाव करता है, मुद्दा यह है कि मैं नहीं चाहता कि आवर्ती नौकरी चलाना चाहें यदि पिछली नौकरी अभी भी चल रही है ।हैंगफायर एकल आवृत्ति आवर्ती नौकरी

मैंने प्रलेखन के माध्यम से पढ़ा है लेकिन उत्तर नहीं मिल रहा है। क्या एक आवर्ती नौकरी रखने का कोई तरीका है जो हर 10 मिनट में चलता है लेकिन पिछले कार्य अभी तक नहीं किया गया है, तो छोड़ देता है?

public void Configuration(IAppBuilder app) 
{ 
    app.MapSignalR(); 

    // Hangfire 
    GlobalConfiguration.Configuration 
     .UseSqlServerStorage("DatabaseContext"); 

    app.UseHangfireDashboard(); 
    app.UseHangfireServer(); 

    RecurringJob.AddOrUpdate("site-parser",() => SiteParserService.RunAll(), Cron.Minutely, TimeZoneInfo.Utc); 

    ConfigureAuth(app); 
} 
+0

आप एक ही बार-बार काम के अंतिम निष्पादन मतलब है? –

उत्तर

2

आप इसका उपयोग कर सकते हैं; [DisableConcurrentExecution(10 * 60)] नौकरी विधि पर विशेषता।

यहाँ

इस विशेषता के बारे में जानकारी पा सकते हैं: http://odinserj.net/2014/05/21/hangfire-0.8.2-released/

0

यहां एक सुझाव है: केवल एक उदाहरण के रूप में नौकरी कतार दें। फिर, यदि नौकरी सफलतापूर्वक पूर्ण हो जाती है, तो आप नौकरी में अंतिम चरण निष्पादित करते हैं। आपके काम का अंतिम चरण 10 मिनट में फिर से निष्पादित करने के लिए नौकरी कतार देगा।

क्या आपको वह कार्यक्षमता प्रदान नहीं करेगा जो आपको चाहिए?

संबंधित मुद्दे