我将Rails+Sidekiq与when-gem一起使用。app和sidekiq都是通过docker compose运行的独立docker容器。
services:
app:
build:
dockerfile: Dockerfile
...
sidekiq:
build:
...
两个服务(应用程序和sidekiq(都有一个文件夹应用程序。我的问题是schedule.rb中的所有任务都运行两次(一次用于应用容器,另一次用于sidekiq容器(
有没有方法可以检查它是否是一个sidekiq容器,以不启动计划的作业?
(sidekiq通过命令启动:RAILS_ENV=production bundle exec sidekiq -L /my-app/log/sidekiq_production.log
(
Cron作业不是从schedule.rb文件神奇地创建的。它们仅在运行时创建
whenever --update-crontab
或类似的。从Sidekiq容器中运行的脚本中删除此命令。