gpt4 book ai didi

c# - Hangfire能否在不重新部署的情况下处理定时任务的变化

转载 作者:行者123 更新时间:2023-11-30 12:23:20 27 4
gpt4 key购买 nike

我一直在 Microsoft MVC 应用程序中使用 Hangfire。我已经得到它来编译和安排即发即弃的任务,但令我惊讶的是我无法在程序运行时添加/删除作业。 Hangfire 真的不能在运行时动态调度任务吗?是否有一种著名的框架允许即使在应用程序已编译或部署后也可以安排任务,而无需在每次我想添加任务时更改 C# 代码?

我也研究过 Quartz.NET,它似乎有同样的问题。

编辑:

Windows Task Scheduler 可以允许使用 GUI 安排任务,UNIX 的 cron 可以通过编辑文件来添加或删除任务,但我正在寻找在 Windows 上运行的某种应用程序,它允许用户添加或者在部署应用程序之后删除任务。我不想每次要添加或删除任务时都重新编译应用程序。

最佳答案

正如所问,这个问题似乎是基于对“动态……在运行时”的含义的误解。答案是"is",它可以在不重新部署的情况下更改任务(但这似乎并不是您真正想要的)。

Hangfire 将在您的应用程序中添加一个仪表板用户界面(如果您对其进行配置),但它本身并不是一个端到端的任务管理应用程序。它旨在为您的应用程序提供安排工作的能力,并使该工作从调用点开始以非常不连贯的方式完成——它甚至可能不在同一台机器上完成。

它仅限于调用 .NET 代码,但根据定义这满足了您声明的“在运行时动态安排任务”的要求。这可以响应您喜欢的应用程序中的任何事件来完成。也可以删除、更新和取消任务。

(后期编辑) 你是对的:你必须自己编写任何调度 UI 或任务文件格式的反序列化。如果您正在寻找可以为您提供 UI 和/或任务文件 OOTB 的工具,您可能需要升级到商业产品,例如 JAMS . (免责声明:这甚至可能本身不具备您需要的功能——我没有使用该产品的直接经验,但与我共事过的人都以积极的态度提到过它)。

关于c# - Hangfire能否在不重新部署的情况下处理定时任务的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37393319/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com