首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sidekiq不运行排队作业(Rails 7+ Redis + Sidekiq + Docker)

Sidekiq不运行排队作业(Rails 7+ Redis + Sidekiq + Docker)
EN

Stack Overflow用户
提问于 2022-11-03 21:41:14
回答 2查看 102关注 0票数 0

正如标题所述,我有3个容器在码头运行,一个用于rails,一个用于postgres db,一个用于redis。我可以在执行Job.perform_async的任务中排队,但由于某种原因,我的任务将无限期地停留在队列中。我检查过了,我的Redis容器已经启动并运行。

我的工作:

代码语言:javascript
复制
class HardJob
  include Sidekiq::Job

  def perform(*args)
    puts 'HardJob'
  end
end

sidekiq的初始化程序:

代码语言:javascript
复制
Sidekiq.configure_server do |config|
    config.redis = { url: (ENV["REDIS_URL"] || 'redis://localhost:6379') }
end 
  
Sidekiq.configure_client do |config| 
    config.redis = { url: (ENV["REDIS_URL"] || 'redis://localhost:6379') }
end

我的船坞-写作:

代码语言:javascript
复制
version: '3.0'

services:
  web:
    build: .
    entrypoint: >
      bash -c "
      rm -f tmp/pids/server.pid
      && bundle exec rails s -b 0.0.0.0 -p 3000"
    ports:
      - 3000:3000
    volumes:
      - .:/src/myapp
    depends_on:
      - db
      - redis
    links:
      - "db:db"
    environment:
      REDIS_URL: 'redis://redis:6379'
  db:
    image: postgres:11
    environment:
      POSTGRES_PASSWORD: 'postgres'
    volumes:
      - db_data:/var/lib/postgresql/data
    ports:
      - 5432:5432
  redis:
    image: "redis"
volumes:
  db_data:
  redis:
    driver: local

我还在我的3个环境中设置了config.active_job.queue_adapter = :sidekiq

这里可能会发生什么事?提前感谢

更新

在我的rails终端上运行sidekiq -q default似乎有效。如何将Docker配置为始终运行sidekiq?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-04 08:16:50

Sidekiq是自己的进程,需要自己启动,就像web服务器进程一样。将如下内容添加到坞-组合中:

代码语言:javascript
复制
sidekiq:
  depends_on:
    - 'db'
    - 'redis'
  build: .
  command: bundle exec sidekiq
  volumes:
  - .:/src/myapp
  environment:
    - REDIS_URL_SIDEKIQ=redis://redis:6379/1

或者-当您能够使用Sidekiq的最新版本(>= 7.0)时,您可能希望尝试与您的美洲狮when服务器一起运行Sidekiq的新Sidekiq嵌入式模式

票数 0
EN

Stack Overflow用户

发布于 2022-11-04 05:20:06

由于某些原因,Sidekiq正在寻找错误的队列名。尝试将其添加到config/ file kiq.yml文件中。

代码语言:javascript
复制
:queues:
  - default
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74309841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档