2016-12-14 3 views
0

Ich versuche, die Warteschlange eingereiht Jobs in Hangfire abzurufen, mit dem folgenden Code:Hangfire EnqueuedJobs Parameter

IMonitoringApi monitor = JobStorage.Current.GetMonitoringApi(); 

var jobData = monitor.EnqueuedJobs(?, 0, 1); 

Der api sagt der erste Parameter eine Zeichenfolge ist, (string Warteschlange). Meine Frage ist, was bedeutet diese String Queue und wie bekomme ich das? Danke

+0

"in die Warteschlange eingereihte Jobs", meinst du Job mit Enqueued-Status? –

Antwort

0

Es ist der Name der Warteschlange, in die Sie den Job gestellt haben, wie Sie so viele wie Warteschlange in Hangfire machen können.

var options = new BackgroundJobServerOptions 
{ 
    Queues = new[] { "critical", "default" } 
}; 

app.UseHangfireServer(options); 

Hier gibt es zwei Warteschlangen ist kritisch und zweite ist Standard

so hier finden Sie Standardgeben, wenn Sie keine Warteschlangen erstellt haben als Standardwarteschlange die ist, die Standard-Warteschlange ist.

Implementieren Sie die Funktion als

public JobList<EnqueuedJobDto> EnqueuedJobs(string queue, int @from, int perPage) 
     { 
      return UseConnection(connection => 
      { 
       var queueApi = GetQueueApi(connection, queue); 
       var enqueuedJobIds = queueApi.GetEnqueuedJobIds(queue, from, perPage); 

       return EnqueuedJobs(connection, enqueuedJobIds); 
      }); 
     } 

Link zur Verwendung Implementierung hier https://searchcode.com/codesearch/raw/97584324/

Lassen Sie mich wissen, wenn Sie es erreichen.

+0

Danke, ich landete mit der gleichen .. – akshayKhot

+0

Cool können Sie teilen, wie Sie es gelandet, wie die Implementierung der Schnittstelle, Schnipsel Ihrer Schnittstelle wie immer Liste von Server usw.Das wird sehr geschätzt werden –

+0

Nun, ich habe einfach die string'default'. Als ich die Frage ursprünglich gestellt hatte, war mir nicht bewusst, dass Hangfire-Warteschlangen einen Namen haben. Ich endete damit: 'var jobData = monitor.EnqueuedJobs ('default', 0, 1);' – akshayKhot

Verwandte Themen