Мы используем sidekiq для обработки фоновых заданий, и у нас возникли проблемы с sidekiq. Во время обработки заданий sidekiq переводит свой поток в состояние зависания. Когда я проверяю веб-интерфейс sidekiq, я не вижу запущенных процессов. Но я вижу, как работает процесс, как показано ниже.
ps -aux |grep sidekiq
rails 26512 0.2 4.8 1619652 196936 ? Sl 13:10 0:10 sidekiq 3.3.3 railsapp [7 of 20 busy]
Я попытался убить с помощью kill -TTIN 26512, чтобы получить обратную трассировку, но он не отвечает на выше.
Кто-нибудь знает, как это отладить? Это продолжает происходить с нашим приложением, нам часто приходилось прекращать процесс и перезапускать процесс sidekiq.
Более того, мы используем объекты Mutex в фоновой обработке.
Использование rails 4.1.2 Oracle ('activerecord-oracle_enhanced-adapter', '1.5.5')
Конфигурации sidekiq yml
:pidfile: ./tmp/pids/sidekiq.pid
:logfile: ./log/sidekiq.log
:concurrency: 20
:timeout: 30
:daemon: true
:queues:
- default
- task
- task2
- task3