動作
Sidekiq 組態設定¶
Sidekiq 是一種廣泛使用的背景作業框架,您可以將其設定為佇列後端。我已在新安裝 Ubuntu 18.04、Redmine 4.1.1、Redis 版本 4 和 Sidekiq 6 的環境中測試過以下安裝和組態步驟。
1. 先決條件:¶
- 安裝 redis-server。
2. 安裝 sidekiq¶
- 在
Gemfile.local
檔案中新增 gem 作為依賴項。如果檔案不存在,您需要建立它。gem 'sidekiq'
- 執行
bundle install
以安裝依賴項
3. 將 Redmine 設定為使用 sidekiq
作為後端¶
- 如果
config/additional_environment.rb
檔案不存在,請複製現有的範例檔案來建立它cp config/additional_environment.rb.example config/additional_environment.rb
- 將以下組態行新增到檔案中
config.active_job.queue_adapter = :sidekiq
- 重新啟動 Redmine 以重新載入組態檔案。
4. 測試組態¶
- 從 Redmine 管理頁面瀏覽到「資訊」標籤,並檢查郵件佇列值
Mailer queue ActiveJob::QueueAdapters::SidekiqAdapter
- 在 Redmine 中執行一些動作以觸發一些通知電子郵件。在此步驟中,Redmine 只會將背景作業推送到 Sidekiq 後端。
- 暫時啟動 sidekiq 以處理佇列並發送電子郵件
RAILS_ENV=production bundle exec sidekiq
啟動程序的輸出範例
2020-06-13T15:08:12.470Z pid=23782 tid=gqluhczs2 INFO: Booted Rails 5.2.4.2 application in production environment 2020-06-13T15:08:12.470Z pid=23782 tid=gqluhczs2 INFO: Running in ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu] 2020-06-13T15:08:12.470Z pid=23782 tid=gqluhczs2 INFO: See LICENSE and the LGPL-3.0 for licensing details. 2020-06-13T15:08:12.470Z pid=23782 tid=gqluhczs2 INFO: Upgrade to Sidekiq Pro for more features and support: https://sidekiq.org 2020-06-13T15:08:12.471Z pid=23782 tid=gqluhczs2 INFO: Booting Sidekiq 6.0.7 with redis options {}
作業處理的輸出範例
2020-06-13T14:53:19.773Z pid=23268 tid=gmo48ykw4 class=ActionMailer::DeliveryJob jid=0b1943f5a675330944781492 INFO: start 2020-06-13T14:53:21.171Z pid=23268 tid=gmo48ykw4 class=ActionMailer::DeliveryJob jid=0b1943f5a675330944781492 elapsed=1.397 INFO: done
- 如果一切順利,請停止指令。
5. 將 sidekiq 設定為以系統服務執行¶
- 請遵循 https://github.com/mperham/sidekiq/wiki/Deployment#running-your-own-process 中說明的官方步驟
- 上述步驟指向一個
sidekiq.service
範例檔案,可用於設定服務 - 在服務設定期間,必須至少提供以下資訊
WorkingDirectory
User
Group
我建議仔細閱讀所有說明以及如何設定服務。
- 啟用並啟動服務
sudo systemctl enable sidekiq sudo systemctl start sidekiq
- 再次測試電子郵件通知
由 Marius BĂLTEANU 於 6 個月 前更新 · 5 個版本