为什么HangFire同名的重复性工作不起作用?

时间:2016-05-11 14:01:27

标签: asp.net asp.net-mvc jobs hangfire

我预定了具有相同名称和不同参数的作业,但是它没有添加到hangfire服务器中,只有最后一个作业在服务器中添加了我错过的任何内容?我的代码在下面

        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);

仅在服务器Console.WriteLine("HelloNew jobCreated 2, ");

中添加了上一个作业

1 个答案:

答案 0 :(得分:4)

您需要read the docs

  

每个定期作业都有自己的唯一标识符。在前面的示例中,它使用给定调用表达式的类型和方法名称隐式生成(导致“Console.Write”作为标识符)。 RecurringJob类包含带有显式定义的作业标识符的重载。这样你以后可以参考这份工作。

由于类型和方法名称每次都相同,结果是它们具有相同的ID,因此作业相同,并且由于该方法称为AddOr 更新,因此每次都会覆盖它

要不覆盖,请为每个定期作业分配显式唯一标识符。

updateSelectizeInput