Я работаю над приложением, где у меня несколько серверов на разных машинах, которые выполняют длительные операции для меня. На этих машинах есть служба Windows, написанная с помощью hangfire/topshelf. За один раз на одну машину может работать только одна операция. Кроме того, я хочу периодически выполнять задания проверки состояния и очистки на каждом сервере, поэтому я не могу просто ставить их в очередь на работу.Hangfire с несколькими серверами
Есть ли способ сделать это в мешках? Кроме того, есть ли способ отправить последующее задание на тот же сервер, что и более ранняя работа?
ADD-ON: Я знаю, что одна из возможностей заключается в добавлении еще одного слоя hangfire: сделайте каждую из услуг клиентом hangfire с собственной БД и обслуживайте себя, а затем планируйте для них повторяющиеся задания, но это кажется ужасно сложным - особенно при масштабировании и добавлении серверов.
Hangfire реализован как очередь, и будет назначать только один сервер на одно задание, поэтому не нужно беспокоиться об этом. Однако нет возможности установить близость к определенному серверу AFAIK. Вам нужно будет координировать работу в вашем приложении, возможно, используя распределенный кеш или уровень ключа/значения. – HackedByChinese
@HackedByChinese: Я знаю, что это только один сервер на работу. Мне нужно это наоборот, одно задание на сервер. Это я могу сделать с WorkerCount. Но потом есть задания, которые я хочу периодически запускать на каждом сервере, потому что они делают очистку на сервере ... – EluciusFTW