【问题标题】:How to host a console application using Hangfire to execute background tasks on the server如何使用 Hangfire 托管控制台应用程序以在服务器上执行后台任务
【发布时间】:2016-09-16 09:20:05
【问题描述】:

我有一个控制台应用程序,其中包含调用外部托管 Web 服务并获取一些数据并更新数据库的逻辑。此任务需要每周执行一次。因此,我设置了一个任务计划程序来每周运行控制台应用程序。

在浏览了一些关于其他可用替代方案的文章后,我发现了 HangFire。

我有兴趣利用 Hangfire,因为它为我提供了一种使用其仪表板检查在后台执行的作业状态的好方法。

现在,如果我想使用 Hangfire 每周调用控制台应用程序而不是任务计划程序,那么如何在服务器上使用 Hangfire 托管控制台应用程序。

任何人都可以在这里指导我的意见。

【问题讨论】:

    标签: console-application c#-5.0 hangfire


    【解决方案1】:

    我对 Hangfire 比较陌生,但你的问题对我来说没有意义。

    也许我误解了,但听起来您希望 Hangfire 像任务调度程序一样工作 - 但这不是它的目的。 Hangfire 处于运行状态 - 它不会自行生成。您启动一个程序并告诉该应用程序连接到此存储,可能是要监视和去的队列。然后它将查询您指定的存储空间,以获取它需要执行的任何任务并执行它们。

    现在您可以编写一个程序来简单地 RecurringJob.AddOrUpdate(() => Process.Start("your application.exe", Cron.Weekly);

    我不确定 Hangfire 在 cron 作业中的表现如何。如果您需要在 3 天后重新启动您的应用程序,我不确定它是否会知道它需要在 4 天内运行该任务,或者它是否会清理并重新安排 7 天。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多