ruby-on-rails - 将 sidekiq/redistogo 与 heroku 一起使用?
问题描述
我遵循了sideqik gem tutorial docs和heroku Redistogo addon docs
初始化程序/sidekiq.rb:
Sidekiq.configure_server do |config|
config.redis = { url: 'redis://redistogo:xxx.redistogo.com:10076/' }
end
Sidekiq.configure_client do |config|
config.redis = { url: 'redis://redistogo:xxx.redistogo.com:10076/' }
end
应用程序/工人/hard_woker.rb:
class HardWorker
include Sidekiq::Worker
def perform(shop_domain, webhook)
#performing stuffs
end
我正在投入后台工作的 Webhook(至少尝试):
class OrdersCreateJob < ActiveJob::Base
def perform(shop_domain:, webhook:)
shop = Shop.find_by(shopify_domain: shop_domain)
shop.with_shopify_session do
HardWorker.perform_async(shop_domain, webhook)
end
end
end
档案:
hardworker: bundle exec sidekiq -t 25
控制台中没有错误。
这里有什么问题,我错过了什么吗?
我的队列:
irb(main):003:0> Sidekiq::Queue.all
=> [#<Sidekiq::Queue:0x000055b53a2d0920 @name="default", @rname="queue:default">]
我认为这意味着队列中没有任何内容?
我的目标是将我所有的 CreateOrderWebhook 代码(将近 500 行)放到后台作业中,以减轻应用程序的压力并允许 webhook/防止 webhook 被阻止
解决方案
推荐阅读
- laravel - 目标类 [Backend\ServiceController] 不存在。- Laravel,Laravel 8
- reactjs - 如何使用 useState 更改孩子的数据?
- linux - 汇编代码总是导致分段错误?
- swift - 如何在 Swift 中预取从 URL 播放的视频
- python - 这个函数能改变字典的值吗?
- python - 如何使用 min 函数在 Python 中创建 DataFrame 计算列?
- python - 在屏幕上同时并行和串行运行 shell 脚本
- python - 从模型动态继承
- ms-access-2013 - MS Access Form 在 SQL Query 中添加“And Or”运算符
- kubernetes - exec 类型容器探测超时