Аварийный цикл - это когда процесс аварийно завершает работу и перезапускается демоном-наблюдателем на неопределенный срок.
То есть история такова:
- Процесс начинается в момент времени T.
- Процесс падает в момент времени T + 1.
- Демон Watchdog перезапускает процесс.
- Процесс запущен в момент времени T + 2.
- Процесс падает в момент времени T + 3.
- Демон Watchdog перезапускает процесс.
- Процесс начинается ... и т. Д.
Здесь сторожевым псом является Борг, и процесс заключен в задачу.
В общем, в распределенных вычислениях, если вы хотите, чтобы что-то в конечном итоге было успешным, вы должны записать свое намерение, чтобы оно было завершено, и вам нужен работник, чтобы постоянно выполнять цикл для выполнения этого намерения. Это «хотя бы раз доставка» рабочего элемента.
Здесь подразумевается, что задача выполняется (записана в Borg), а сам Borg запускает цикл, который постоянно пытается убедиться, что задача выполняется. Вот почему при сбое задачи она перезапускается. Когда задача несколько раз падает, вместе вы получаете аварийный цикл.