Я создал простое тестовое задание для Sidekiq и добавил его в свой schedule.yml
файл для Sidekiq Cron.
Вот мое тестовое задание:
module Slack
class TestJob < ApplicationJob
queue_as :default
def perform(*args)
begin
SLACK_NOTIFIER.post(attachments: {"pretext": "test", "text": "hello"})
rescue Exception => error
puts error
end
end
end
end
Здесь SLACK_NOTIFIER
простой API-клиент для Slack, который я инициализирую при запуске.
И в моем schedule.yml
:
test_job:
cron: "* * * * *"
class: "Slack::TestJob"
queue: default
description: "Test"
Поэтому я хотел, чтобы он запускался каждую минуту, и он работал точно так же, как яожидается.
Однако теперь я удалил файл задания и удалил задание из schedule.yml
, и он все еще пытается запускать задание каждую минуту.Я вошел в свою панель управления sidekiq и вижу кучу попыток для этой работы.Независимо от того, сколько раз я их всех убиваю, они просто продолжают приходить.
Я несколько раз пытался выключить и сервер redis, и sidekiq.Я попытался выключить свой компьютер (после убийства серверов, конечно).Он по-прежнему продолжает планировать эти задания и прерывает другие мои работы, потому что вызывает следующее исключение:
NameError: uninitialized constant Slack::TestJob
Я выполнил поиск "TestJob" по всему проекту, но не получил результатов.
У меня был сервер redis, открытый с этим заданием в течение примерно 10 минут ...
Возможно, что-то осталось в базе данных redis?Я изучил документацию redis-cli
, но не думаю, что она мне поможет.