在代码中使用 Hangfire job id

Use Hangfire job id in the code

我正在执行这样的即发即弃方法调用。

BackgroundJob.Enqueue(() => SendEmail(name));

我想将作业 ID 传递给 SendEmail() 方法并在该方法中使用它。

SendEmail 方法更改为如下所示...

public void SendEmail(string name, string jobId)
{ 
//Body of method
}

将 Hangfire 调用更改为如下所示...

BackgroundJob.Enqueue((string jobId) => SendEmail(name, jobId));

除非您正在寻找 运行 一份工作,并发送一封完整的电子邮件,否则您可能必须执行以下操作...

  var jobId = BackgroundJob.Enqueue(() => TaskToRun);
  BackgroundJob.ContinueWith(jobId, () => SendEmail(name, jobId));

简单的方法是添加

PerformContext

求职方法:。 Hangfire 论坛主题 Use Hangfire job id in the code.