Dockerized sidekiq 中的 Rails 后台作业重复计划

问题描述

我在任何时候都使用 Rails+Sidekiq。 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 容器中运行的脚本中删除此命令。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...