2016-05-11 3 views
1

Ich hatte Jobs mit dem gleichen Namen und anderen Parametern geplant, aber es ist nicht in Hangfire Server hinzugefügt und nur letzten Job ist in Server hinzugefügt, was ich verpasst habe? mein Code unterWarum HangFire gleichen Namen mit wiederkehrenden Jobs nicht funktioniert?

 RecurringJob.AddOrUpdate(
      () => Console.WriteLine("HelloNew jobCreated, "), 
      Cron.Minutely); 
     RecurringJob.AddOrUpdate(
      () => Console.WriteLine("HelloNew jobCreated 12, "), 
      Cron.Minutely); 
     RecurringJob.AddOrUpdate(
      () => Console.WriteLine("HelloNew jobCreated 2, "), 
      Cron.Minutely); 

Erst im letzten Job in Server hinzugefügt wird Console.WriteLine("HelloNew jobCreated 2, ");

Antwort

3

Sie zu read the docs benötigen.

Jeder wiederkehrende Job hat seine eigene eindeutige Kennung. In den vorherigen Beispielen wurde es implizit generiert, wobei die Typ- und Methodennamen des angegebenen Aufrufausdrucks verwendet wurden (was zu "Console.Write" als Kennung führte). Die RecurringJob-Klasse enthält Überladungen, die eine explizit definierte Job-ID verwenden. Damit Sie später auf den Job verweisen können.

Da die Art und Methodennamen ist das gleiche jedes Mal, das Ergebnis ist, dass sie die gleiche ID haben, und sind daher die gleiche Arbeit, und da das Verfahren Addor Update-Anweisung aufgerufen wird es jedes Mal überschrieben werden.

Um nicht zu überschreiben, weisen Sie jedem wiederkehrenden Job eindeutige eindeutige Bezeichner zu.

RecurringJob.AddOrUpdate(
     "Job1", 
     () => Console.WriteLine("HelloNew jobCreated, "), 
     Cron.Minutely); 
RecurringJob.AddOrUpdate(
     "Job2", 
     () => Console.WriteLine("HelloNew jobCreated 12, "), 
     Cron.Minutely); 
RecurringJob.AddOrUpdate(
     "Job3", 
     () => Console.WriteLine("HelloNew jobCreated 2, "), 
     Cron.Minutely); 
+0

Danke @ Mason für Hilfe – MSTdev

Verwandte Themen