Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Подсказка

Рассмотрим работу этого параметра на примере

  1. Робот пытается получить значение ресурса, но из-за какой-то проблемы падает в ошибку.
  2. Пользователь перезапускает робота.
  3. Робот снова пытается получить значение ресурса, и снова падает в ошибку. 

Очевидно, просто так проблему не исправить простым перезапуском робота. И при следующих попытках робот все так же будет завершаться с ошибкой, и в итоге не сможет завершить свою работу. Чтобы робот не застревал на проблемном ресурсе, смог его пропустить и взять в работу следующий ресурс, можно ограничить число попыток обработки ресурса.

Подсказка

Ограничение попыток обработки ресурсов работает следующим образом:

  1. Робот не смог обработать ресурс (получить или изменить его) и упал в ошибку.
  2. Количество оставшихся попыток уменьшается на 1.
  3. Пользователь перезапускает робота, но он снова падает в ошибку при работе с тем же самым ресурсом.
  4. Количество оставшихся попыток снова уменьшается на 1.
  5. И так далее. В итоге, когда количество оставшихся попыток станет равным 0, статус ресурса изменится на «Ошибка».
  6. Система скрывает от роботов ресурсы, которые в статусе "Ошибка" или "Обработан". Поэтому при повторном запуске робот уже не найдет этот ресурс в очереди, даже если будет искать по его ID.

...

  • Поиска ресурсов роботами. Например, роботы должны искать только ресурсы в статусе "Новый".
  • Определения текущего прогресса в обработке ресурсов - сколько уже обработано, сколько еще в работе, а сколько еще не взято в работу, с какими ресурсами были проблемы.
  • Предотвращения повторной обработки одних и тех же ресурсов. Роботы не смогут получить или изменить ресурсы, которые уже находятся в статусе "Обработан" или "Ошибка".


Подсказка

Основные особенности установки и работы статусов:

  1. При создании ресурса, ему автоматически будет присвоен статус «Новый». Создавать ресурсы на данный момент могут только роботы.
  2. Статус «В работе» устанавливается автоматически только при чтении (получении) или изменении ресурса роботом. Если при создании ресурса сразу были установлены блокировки, это не считается операцией изменения ресурса, поэтому статус будет "Новый", а не в "Работе".
  3. Статус «В работе» не будет установлен автоматически при чтении или изменении ресурса пользователем.
  4. Если робот читал/изменял ресурс, но завершил свою работу, не переведя его в статус "Обработан", то ресурс так и останется в статусе "В работе".
  5. Если ресурс уже в статусе «В работе», другой робот все равно может обратиться к ресурсу для его чтения/изменения.
  6. Роботы не смогут найти в очереди ресурсы, которые в статусе "Обработан". Не сможет найти даже тот робот, который сам же и установил этот статус.
  7. Если количество попыток обработки ресурса станет равным 0, статус ресурса меняется автоматически на «Ошибка». Роботы не смогут найти в очереди ресурсы, которые в статусе "Ошибка".
  8. Пользователь может изменять статус ресурса на любой другой статус в любом порядке. 

Якорь
Принципы работы блокировок ресурса
Принципы работы блокировок ресурса
Принципы работы блокировок ресурса

...