Как запускать один периодический джоб на весь кластер ASP.NET Core без внешнего планировщика?
Оберните BackgroundService в распределённый lock (Redis SET NX PX, Postgres advisory lock и т.п.) с heartbeats/TTL и авто-продлением; выполняйте работу только у лидера. Делайте задачи идемпотентными, держите дедлайны/отмену, при потере lock — немедленно завершайте цикл. Сохраняйте «курсор прогресса» в БД.
Библиотека собеса по С#
Post #1101
1.61K
- 👍 1