Помогите реализовать логику

Markoonij

Client
Регистрация
13.10.2020
Сообщения
70
Благодарностей
3
Баллы
8
Ребята, помогите реализовать следующую логику:

Есть N ботов, работающих в ZP. Каждый из них получает данные по API. Тут возможны 2 варианта:

1. Бот получает сигнал для выполнения определенных действий - С1
2. Бот получает сигнал, что никаких действий не требуется - С2

Необходимо, реализовать очередь из всех N ботов, так чтобы они по очереди (с интервалом в 1 сек) отправляли запрос на получение данных по API.

Например, есть 3 бота: бот1 получил С2 и отправился в конец очереди. Затем бот2 получил С1 начал выполнять набор команд и становится в конец очереди только тогда, когда закончит все действия. В это время в очереди находятся только бот1 и бот3, которые с интервалом в 1 секунду получают С2

Надеюсь, понятно объяснил:-)
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 042
Благодарностей
6 474
Баллы
113
я бы сделал отдельный шаблон, обычно называю его "manager"
вот пусть только он один все это делает, если получает нужное действие, он запускает нужный шаблон, и дальше делает проверку, помечая шаблон что он в работе, в текстовом файле или бд
 
  • Спасибо
Реакции: Markoonij

Markoonij

Client
Регистрация
13.10.2020
Сообщения
70
Благодарностей
3
Баллы
8
Спасибо! Буду рад еще вариантам!
 

Wide

Client
Регистрация
04.02.2013
Сообщения
945
Благодарностей
257
Баллы
63
Раньше я похожий принцип реализовал через майскуэль таблицу, где есть колонка со статусом. А там уже прописываешь что хочешь и через правила реализуешь. Дополнительно можно ещё со временем работать. Плюс таблицы еще в скорости и что данные не потеряются в отличии от тхт или ксв.
 
  • Спасибо
Реакции: Markoonij

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)