sidekiq相关内容
我们的Ruby on rails 4Web应用程序中需要一个排队系统 有什么不同,您为什么会/不会选择 Sidekiq胜过RabbitMQ? 推荐答案 不同的用法是完全不同的事情。Sidekiq是用于作业排队和处理的功能齐全的解决方案,而RabbitMQ只是一个消息代理,您可以在它的基础上构建您自己的东西。
..
我正在尝试使用Sinatra应用程序设置Sidekiq, 使用配置文件启动idekiq工作器以在守护程序模式下运行时出现问题。 我的项目具有以下结构: project - config -- sidekiq.yml #Sidekiq Config File - app -- app.rb #Sinatra Application File - Rakefile - Gemfile -
..
当我通过命令redis-cli连接到Redis服务器并运行ping检查Redis是否正常工作时,收到错误需要NOAUTH身份验证。 我找到了answer for NOAUTH Authentication required error,它说明只有在Redis设置了密码时才会出现此错误,但是我检查了etc/redis/redis.conf处的Redis配置文件,并且没有设置密码。 是否有
..
这个问题涉及性能和优化问题,以及实现 Sidekiq 作业的方式. 假设我们有以下工作流程 默认执行 # 第 1 步do_things_with_activerecord_db_and_get_some_parameters()# 第2步step2_perform_an_http_request_with_these_parameters_on_unreliable_server()
..
我们的 Ruby On Rails 4 Web 应用程序需要一个排队系统 有什么区别,为什么选择/不选择 Sidekiq 优于 RabbitMQ 吗? 解决方案 用不同的用法是完全不同的东西.Sidekiq 是用于作业排队和处理的全功能解决方案,而 RabbitMQ 只是一个消息代理,您可以在其中构建自己的东西.
..
我有大约 六个 Sidekiq 工作器,它们执行 JSON 抓取.根据端点的数据集大小,它们在 1 分钟到 4 小时之间完成.尤其是观看耗时 4 小时的长视频时,我发现随着时间的推移,内存有非常轻微的增长. 这不是问题,直到我想再次安排相同的工人作业.内存不会被释放并堆积起来,直到我遇到 Linux OOM Killer,它摆脱了我的 Sidekiq 进程. 内存泄漏?我观察了 Obj
..
在更新我的 gems 并将所有内容投入生产后,我在 Heroku 上启动 sidekiq 时遇到了很大的问题.问题是 Sidekiq 尝试在本地连接和端口上连接到 Redis,而不是使用 REDISTOGO 变量.花了几个小时后,我设法修复了它:在下面回答. 解决方案 从 if 和下面删除所有内容并运行: heroku 配置:设置 REDIS_PROVIDER=REDISTOGO_URL
..
我在 Rails 应用程序中使用 sidekiq.默认情况下,任何人都可以通过在 url 后附加“/sidekiq"来访问 Sidekiq.我只想密码保护/验证 sidekiq 部分.我该怎么做? 解决方案 将以下内容放入您的 sidekiq 初始化程序 需要'sidekiq'需要“sidekiq/web"Sidekiq::Web.use(Rack::Auth::Basic) 做 |用户
..
(我的详细配置见下文,这是 Henley Chiu 回答的结果). 我一直在努力思考 Sidekiq 的部署,但我并没有真正理解它.我在同一台服务器上有一个带有临时环境和生产环境的应用程序.我看到的关于 sidekiq 部署的所有内容基本上都是说“只需将 sidekiq/capistrano 添加到您的部署文件中",所以我这样做了.然后说明是“这是一个带有选项的 yml 文件",但似乎没有任
..
面临@user.reset_token 返回 nil 的问题. app/views/user_mailer/password_reset.html.erb Reset_token 是在 User 模型中声明的,当我尝试使用 sidekiq worker 时会发生这个问题.参考下面的代码. app/models/user.rb class User app/workers/p
..
我已经在我的应用程序中设置了一个基本的动作电缆供电的聊天.我有一个 after_create_commit 回调,它将消息发送到要广播到适当频道的作业.设置为 perform_now 时它工作正常,但设置为 perform_later 时不起作用.Sidekiq 执行任务并广播到正确的频道,但频道订阅没有收到任何东西. 这是正在设置的频道: PodsChannel 正在传输订阅确认Pods
..
我有一个在保存对象后触发的 sidekiq 工作器: class Post worker 如下所示(它还没有完成……只是在测试): class ProcessWorker包括 Sidekiq::Workerdef perform(id, key)post = Post.find(id)放置 post.nonsecure_url结尾结尾 奇怪的是,每次 worker 触发时,它最初都会失败
..
我正在尝试为 Sidekiq 设置 Monit.到目前为止,这是我的配置文件的内容: 检查进程 sidekiq_site使用pidfile/var/www/site/tmp/pids/sidekiq.pid启动程序 = "bundle exec sidekiq -C/var/www/site/config/sidekiq.yml -P/var/www/site/tmp/pids/sidekiq
..
我一直在成功地使用 Sidekiq 来运行由用户操作在 Rails 3.2 应用程序中启动的后台作业.我的特定应用涉及通过第三方 API 从外部源发送和接收数据. 我需要通过不断检查每个用户是否有可供下载的数据来使数据与此外部源保持同步. 到目前为止,我所有的后台作业都是用户启动的,正如我上面提到的.我的问题是,如果我想在 while 循环中不断检查每个用户的外部数据是否存在,我想:
..
我只想在用户登录时执行后台作业.当用户登录时,我启动一个worker: Warden::Manager.after_authentication do |user,auth,opts|ImapWorker.perform_async(user.id)结尾 我的 ImapWorker 所做的就是使用 ruby 的 Net::Imap API 来等待来自远程电子邮件服务器的新电子邮件.它使用
..
我想从 sidekiq 作业中获取异常错误消息.当我将 back_trace 选项设置为 true 时,它会重试我的工作,但我想在出现错误并收到错误消息时退出工作. 如果我发现该过程成功或失败就足够了. def 执行(文本)开始失败标准错误,'错误!'救援fail 'EEE' # 我想在调用作业时得到这个错误结尾结尾# 称呼NormalJob.perform_async('test')
..
我正在尝试使用 之后的两个 upstart 脚本来守护 sidekiq这个的例子.基本上,workers 服务会启动固定数量的 sidekiq 服务. 问题是 sidekiq 脚本在我启动 sidekiq 的代码行失败.我试过直接在 bash 中运行命令,它工作正常. 我尝试了所有不同的注释行,但没有奏效. 所以我的问题是我做错了什么?在哪里可以看到错误消息? 这是我修改过
..
我正在尝试将 current_user 或 User.find(1) 传递给工作模块,但在 sidekiq 的仪表板中出现错误 (localhost:3000/sidekiq/retries): NoMethodError: 未定义方法 `supports' for "#":String 注意:我的关系很好,即: u = User.find(1)u.支持#=>[] supports
..
我希望 Airbrake 仅在重试用完时才收到错误通知,但我似乎想不出实现它的方法... 我可以添加一个 sidekiq_retries_exhausted 钩子来将错误发送到 AirBrake,但我能想到的捕获实际故障的唯一方法是添加一个吞下错误的中间件,但是,如果有,该作业将被标记为成功没有错误......那么永远不会有任何重试.. 希望这是有道理的! 解决方案 我设法通过
..
我在 rails4 中使用 sidekiq. 如何找到失败的作业列表并重新处理它们以在 sidekiq 中执行? 解决方案 试试 sidekiq-failures ,我相信这就是你想要的. https://github.com/mhfs/sidekiq-failures
..