Перформанс Sidekiq на самом деле никогда не работает, хотя и отображается как «занят» - PullRequest
0 голосов
/ 23 сентября 2018

Я просто создал рабочий для перезапуска apache в фоновом режиме, так как выполнение этого внутри приложения rails просто останавливает приложение и выдает «Внутреннюю ошибку сервера»

Я делаю что-то чрезвычайно просто.

Вот мой рабочий:

# app/workers/reload_apache_worker.rb
class ReloadApacheWorker
  include Sidekiq::Worker

  def perform
    `sudo /etc/init.d/apache2 graceful`
  end
end

И я просто называю это с помощью ReloadApacheWorker.perform_in(5.seconds)

Ничего не происходит.Я вижу в веб-интерфейсе sidekiq, что он "занят".enter image description here

Что я делаю не так?Два других моих работника, которых я выполняю с .perform_async, работают безупречно, поэтому я не уверен, что с этим.

1 Ответ

0 голосов
/ 24 сентября 2018

Если вы перезапустите сервер во время (внутри) запроса, вы получите сообщение об ошибке, поскольку он не будет на него отвечать, поэтому вы получите ошибку.

...