У меня есть проект Rails, который должен очищать сеть каждые x часов. Для этого я использую rufus-планировщик. Однако, когда задание выполняется, API замедляется, с 1000 мс до 30 с или более. Проверяя логи, Activerecord не является причиной дополнительной задержки. Я вижу, что пассажирский поток использует 100% моего процессора.
В другом проекте Rails я запускаю внешний скрипт (youtube-dl
) из планировщика rufus. Когда скрипт работает, API блокируется полностью иногда (но в других случаях это не фаза).
В обоих случаях я использую Rails 6, Ruby 2.6.4 и Debian 9. Я думал о установка sidekiq и вызов Rufus, чтобы мои запланированные задания выполнялись в отдельном процессе. Есть ли что-то, что я должен делать вместо этого?