我正在处理一个应用程序,我在多台服务器上为不同的计算机执行长操作。在使用hangfire/topps写入的机器上运行Windows服务。每台机器一次只能运行一项操作。另外我想在每台服务器上定期执行一些状态检查和清理作业,所以我不能将它们作为作业排队。与多个服务器的Hangfire
有没有办法做到这一点在hangfire?另外,是否有办法将后续工作作为早期工作发送到同一台服务器?附加:我知道一种可能性是添加另一个hangfire层:使每个服务都成为一个拥有自己的数据库的hangfire客户端并自行服务,然后为他们安排重复工作,但这看起来非常复杂 - 尤其是扩展和添加服务器时。
Hangfire以队列形式实现,每个作业只分配一个服务器,因此不需要担心。但是,没有能力建立与特定服务器AFAIK的亲和力。您必须在应用内协调,可能使用分布式缓存或键/值层。 – HackedByChinese
@HackedByChinese:我知道每个工作只有一台服务器。我需要它,每台服务器一个作业。我可以用WorkerCount来做。但是接下来有一些工作要定期在每台服务器上运行,因为他们在服务器上进行清理...... – EluciusFTW