【问题标题】:Rails background jobs in Dockerized sidekiq duplicates scheduleDockerized sidekiq 中的 Rails 后台作业重复计划
【发布时间】:2021-06-03 17:05:40
【问题描述】:

我将 Rails+Sidekiq 与任何 gem 一起使用。 app 和 sidekiq 都是通过 docker-compose 运行的独立 docker 容器。

services:
 app:
  build:
    dockerfile: Dockerfile

    ...

 sidekiq:
  build:
  ...

两种服务(app 和 sidekiq)都有一个文件夹应用程序。而我的问题是 schedule.rb 中的所有任务都运行了两次(一个用于应用程序容器,另一个用于 sidekiq 容器)

有没有办法检查是否是sidekiq容器不启动计划作业?

(sidekiq 由命令启动:RAILS_ENV=production bundle exec sidekiq -L /my-app/log/sidekiq_production.log

【问题讨论】:

    标签: ruby-on-rails docker docker-compose sidekiq whenever


    【解决方案1】:

    Cron 作业不会从 schedule.rb 文件中神奇地创建。它们仅在您运行时创建

    whenever --update-crontab
    

    或类似的。从在 Sidekiq 容器中运行的脚本中删除此命令。

    【讨论】:

    • 谢谢,忘记了。我在初始化程序中有特殊的脚本来进行 crontab 更新。仅将其移至应用程序容器的入口点脚本
    猜你喜欢
    • 2014-08-02
    • 2021-01-21
    • 1970-01-01
    • 2018-02-07
    • 2016-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多