问题标签 [sidekiq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
575 浏览

ruby - 使用 sidekiq 创建活动记录对象

我想用 sidekiq 创建活动记录对象。我知道这不是最佳实践,因为我必须序列化整个对象,但在这种情况下没有其他选择。

如果我尝试一下,我会得到:

错误说:WARN: undefined method `primary_key' for Hash:Class

使用此方法创建的对象(在本例中为事件):

Track方法如下所示:

EventTrackingWorker班级:

注意:event.to_s.classify.constantize.new(options).send(method)将字符串转换shift_created_event为活动记录类并使用选项ShiftCreatedEvent调用。new之后我用.send(method)

有人有这方面的经验吗?

0 投票
1 回答
3533 浏览

ruby-on-rails - 如何使用 Sidekiq 将文件上传推送到后台?

我正在开发一个允许您上传大型音乐文件的 Rails 应用程序。我想在后台上传这些,这样当您开始上传时,它会在用户输入有关文件的元数据(例如曲目名称和艺术家等)时移动到 sidekiq 工作人员。

我能够按照此 railscast 将图像处理移至后台: http ://railscasts.com/episodes/383-uploading-to-amazon-s3?view=asciicast

但我不太清楚如何将文件的实际上传移动到后台。我应该使用某种回调或 Sidekiq 方法吗?

有没有关于如何做这样的事情的资源?

这是我的歌曲模型: https ://gist.github.com/leemcalilly/5001583

我的歌曲控制器: https ://gist.github.com/leemcalilly/5001590

我的上传表格: https ://gist.github.com/leemcalilly/5001586

我的上传者(使用carrierwave和carrierwave_direct到s3): https ://gist.github.com/leemcalilly/5001601

该代码可以上传到 s3,但在文件上传时,浏览器会绑定在 Rails 进程中。我更愿意将其移至后台进程。我认为那里的sidekiq 代码确实来自处理图像处理的Railscast,但我不太明白为什么图像处理在该Railscast 中工作。

非常感谢任何指向正确方向的帮助。

0 投票
1 回答
3210 浏览

ruby-on-rails - Carrierwave 后台程序 sidekiq 没有工人

我在本地设置了carrierwave后台程序以及sidekiq和sidekiq web。我可以看到已将作业添加到 sidekiq Enqueued 中,但它们从未运行。什么会阻止他们执行?

设置:Rails 3.2.11 Unicorn 4.6.1 Sidekiq 2.7.5carrierwave 0.8.0carrierwave_backgrounder 0.2.0

后台配置。

模型

上传者

在此处输入图像描述

检查注册工人返回空

配置/sidekiq.yml

配置/初始化程序/sidekiq.rb

我也以几种方式从命令行启动了sidekiq

感谢您的帮助 :)

0 投票
1 回答
735 浏览

ruby-on-rails-3 - sidekiq true god.rb 从不运行我的工人,来自终端的相同命令在哪里?

运行 god.rb 来启动和监控 Sidekiq 这不起作用。在我的 sidekiq 的上帝配置下方。

在生产环境中从终端手动运行 sidekiq -C /srv/books/current/config/sidekiq.yml 确实可以正常工作,但不是 sidekiq god.rb 配置任何人都知道为什么会发生这种情况?日志中没有太多内容。

0 投票
3 回答
562 浏览

ruby-on-rails - Sidekiq UI 不加载资产(Rails 3)

我在 Rails 应用程序中使用 Sidekiq,但无法让 UI 正常工作。

当我去http :// servername/sidekiqsinatra 应用程序加载时,但看起来像这样:http ://cl.ly/NHBT

日志中的错误是:

Started GET "/sidekiq/javascripts/application.js" for 127.0.0.1 at 2013-03-01 11:32:48 -0700

NoMethodError (undefined method empty?' for #<Rack::File:0x007faf004527c8>): bullet (4.3.0) lib/bullet/rack.rb:31:inempty?' bullet (4.3.0) lib/bullet/rack.rb:12:in call' warden (1.2.1) lib/warden/manager.rb:35:inblock in call' warden (1.2.1) lib/warden/manager.rb:34:in catch' warden (1.2.1) lib/warden/manager.rb:34:incall' actionpack (3.2.8) lib/action_dispatch/middleware/best_standards_support.rb:17:in call' rack (1.4.5) lib/rack/etag.rb:23:incall' rack (1.4.5) lib/rack/conditionalget.rb:25:in `call'

有任何想法吗?谢谢!

0 投票
0 回答
212 浏览

ruby-on-rails-3 - Rails 和 MongoID webapp 无法保存数据

我在 digitalocean 上托管了一个 ruby​​ on rails webapp,它通过 mongoID 将其数据存储在 mongo db 上。

我正在通过 sidekiq 工作人员上的通用 API 导入一些数据,但随后我尝试创建一个对象,例如:

我可以将这些数据保存在本地开发中,但它在生产中具有随机行为。例如,如果我导入 1000 个消费,我的 Web 应用程序可能只会保存 20 个,并且没有日志报告问题。

我认为这个问题与 sidekiq 有关(甚至在本地工作正常)所以我将它切换到另一个像 resque 但问题仍然存在。我检查了保存对象的验证,它们在“保存”后都是有效的。

这可能与连接到 mongodb 的事务或问题有关吗?

0 投票
2 回答
4687 浏览

ruby - 如何检查 redis 端口和实例 sidekiq 连接到什么?

我正在使用 sidekiq 和 redis。我正在尝试找出并调试一些问题,但为此,我想知道 sidekiq 连接到什么 URL。我知道我可以在我设置服务器和客户端的文件中检查它,但是有没有我可以使用 ala 的函数来Resque.redis显示 redis 实例 sidekiq 连接到什么?

提前致谢!

0 投票
1 回答
351 浏览

ruby-on-rails - 通过后台作业插入/更新数据库,同时最大限度地减少读取影响

我在 PostgreSQL 服务器上运行大量后台任务,使用 Sidekiq 从外部源更新记录。但是每当我从后台进程开始写作时,我的SELECTs痛苦和网络应用程序变得缓慢。

避免阻塞读取的最佳策略是什么?

0 投票
1 回答
2519 浏览

ruby-on-rails - 使用 Sidekiq 的延迟扩展时未定义的方法

使用Sidekiq 的延迟扩展时,我的bundle exec sidekiqshell 中出现此错误:

在我的控制器中:

在我的模型中:

任何帮助,将不胜感激

0 投票
3 回答
24793 浏览

ruby-on-rails - Sidekiq 多环境配置

我查看了多个来源并尝试了各种方案,但无法解决此问题。请指出我正确的方向。

像每个人一样,我有 3 个环境(开发、登台和生产)。

我的 sidekiq.yml 文件中有以下内容

有了这个,我希望当我用命令启动sidekiq时

它将从配置文件中获取所有值并使用适当的队列和日志文件在 log/sidekiq.log 启动 sidekiq,但这不起作用。Sidekiq 启动,但无论我们使用什么环境,它都只会创建 stg_xyz_tests_queue、stg_default_xyz_queue 和 stg_xyz_default_queue。

我尝试的另一种方法是在 config/environments/development.rb 中使用以下代码

有了这个,队列创建好了,但日志文件没有创建或写入,我需要为所有 3 个环境复制此代码。

什么是让 sidekiq 为我的设置无缝工作的最佳方法提前感谢您的帮助!!!