【发布时间】:2021-06-10 01:47:52
【问题描述】:
我希望在 Asp.Net Core 应用程序中实现 Hangfire。
但是,我很难理解如何最好地防止用户创建重复的 Hangfire“即发即弃”作业。
问题
假设用户通过应用创建了一个作业,该作业执行与特定客户端相关的一些处理。该过程可能需要几分钟才能完成。我希望能够防止用户为同一个客户端创建另一个作业,而该客户端的其他作业仍在由 Hangfire 处理(即在任何时候只能有一个特定客户端的处理作业,尽管有几个不同的客户也可以各自处理自己的工作)。
解决方案?
我需要一种方法在创建每个作业时将附加元数据(在本例中为客户端 ID)附加到每个作业,然后我可以使用它来询问当前在 Hangfire 中处理的作业,以查看它们是否相关到有问题的客户 ID。
这似乎是一个基本功能,对这种情况非常有用,但我得出的结论是不支持这样的东西,这让我感到惊讶。
...除非你知道不同。
Hangfire 看起来很棒,我很想使用它,但这对我来说可能是个炫耀。
任何建议都会受到欢迎。
谢谢
【问题讨论】:
标签: hangfire