выполнить только одно из множества дублирующих заданий с sidekiq?

У меня есть фоновая работа, которая выполняет карту / уменьшить работу на MongoDB. Когда пользователь отправляет дополнительные данные в документ, он запускает фоновое задание, которое выполняется в документе. Если пользователь отправляет несколько запросов, он запускает несколько фоновых заданий для одного и того же документа, но на самом деле нужно запустить только одно. Есть ли способ, которым я могу предотвратить несколько повторяющихся экземпляров? Я думал о том, чтобы создать очередь для каждого документа и убедиться, что она пуста, прежде чем я отправлю новую работу. Или, может быть, я могу установить идентификатор задания, который совпадает с идентификатором моего документа, и проверить, что ничего не существует, прежде чем отправить его?

Кроме того, я только что нашел драгоценный камень sidekiq-unique-jobs. Но документации не существует. Это делает то, что я хочу?

Ответы на вопрос(4)

Ваш ответ на вопрос