Да и нет .Повестка дня должна выбрать вашу работу, если она была закрыта gracefuly
.
Это означает, что, если все пойдет хорошо, поле lockedAt
реальных заданий не будет установлено (будет null
), которое должно выставлять ваши устаревшие задания для получения.
Однако, если не было постепенного отключения, они будут пропущены, так как, что касается повестки дня, они все еще работают.
В подобных ситуациях, когда задания находятся в режиме limbo
, инструмент UI для повестки дня чрезвычайно полезен.Он показывает вам все запущенные задания и дает очень хороший обзор того, что происходит, поэтому после перезапуска вы всегда можете просмотреть и устранить любые проблемы.
Другой подход - запустить скрипт, разблокирующий все заблокированные задания.при запуске сервера:
db.agendaJobs.update({}, {$set: {lockedAt: null}});
Или более точный способ достижения того же результата с помощью этого метода.
Или другой, несколько более чистый способ сделать этонайдено здесь .
Подробнее о Повестке дня