我正在尝试使用以下代码检索 Hangfire 中排队的作业:
IMonitoringApi monitor = JobStorage.Current.GetMonitoringApi();
var jobData = monitor.EnqueuedJobs(?, 0, 1);
api表示第一个参数是一个字符串(字符串队列)。我的问题是,该字符串队列表示什么以及如何获得它?谢谢
最佳答案
它是您放置作业的队列的名称,您可以在 Hangfire 中创建尽可能多的队列。
var options = new BackgroundJobServerOptions
{
Queues = new[] { "critical", "default" }
};
app.UseHangfireServer(options);
这里有两个队列,一个是关键队列,第二个是默认队列
因此,如果您没有创建任何队列,则这里将传递默认值,因为默认队列就是默认队列。
将函数实现为
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);
});
}
此处实现链接 https://searchcode.com/codesearch/raw/97584324/
如果你完成了,请告诉我。
关于Hangfire EnqueuedJobs 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41133130/