问题标签 [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.
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)
有人有这方面的经验吗?
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 中工作。
非常感谢任何指向正确方向的帮助。
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
感谢您的帮助 :)
ruby-on-rails-3 - sidekiq true god.rb 从不运行我的工人,来自终端的相同命令在哪里?
运行 god.rb 来启动和监控 Sidekiq 这不起作用。在我的 sidekiq 的上帝配置下方。
在生产环境中从终端手动运行 sidekiq -C /srv/books/current/config/sidekiq.yml 确实可以正常工作,但不是 sidekiq god.rb 配置任何人都知道为什么会发生这种情况?日志中没有太多内容。
ruby-on-rails - Sidekiq UI 不加载资产(Rails 3)
我在 Rails 应用程序中使用 Sidekiq,但无法让 UI 正常工作。
当我去http :// servername/sidekiq
sinatra 应用程序加载时,但看起来像这样: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:in
empty?'
bullet (4.3.0) lib/bullet/rack.rb:12:in call'
warden (1.2.1) lib/warden/manager.rb:35:in
block in call'
warden (1.2.1) lib/warden/manager.rb:34:in catch'
warden (1.2.1) lib/warden/manager.rb:34:in
call'
actionpack (3.2.8) lib/action_dispatch/middleware/best_standards_support.rb:17:in call'
rack (1.4.5) lib/rack/etag.rb:23:in
call'
rack (1.4.5) lib/rack/conditionalget.rb:25:in `call'
有任何想法吗?谢谢!
ruby-on-rails-3 - Rails 和 MongoID webapp 无法保存数据
我在 digitalocean 上托管了一个 ruby on rails webapp,它通过 mongoID 将其数据存储在 mongo db 上。
我正在通过 sidekiq 工作人员上的通用 API 导入一些数据,但随后我尝试创建一个对象,例如:
我可以将这些数据保存在本地开发中,但它在生产中具有随机行为。例如,如果我导入 1000 个消费,我的 Web 应用程序可能只会保存 20 个,并且没有日志报告问题。
我认为这个问题与 sidekiq 有关(甚至在本地工作正常)所以我将它切换到另一个像 resque 但问题仍然存在。我检查了保存对象的验证,它们在“保存”后都是有效的。
这可能与连接到 mongodb 的事务或问题有关吗?
ruby - 如何检查 redis 端口和实例 sidekiq 连接到什么?
我正在使用 sidekiq 和 redis。我正在尝试找出并调试一些问题,但为此,我想知道 sidekiq 连接到什么 URL。我知道我可以在我设置服务器和客户端的文件中检查它,但是有没有我可以使用 ala 的函数来Resque.redis
显示 redis 实例 sidekiq 连接到什么?
提前致谢!
ruby-on-rails - 通过后台作业插入/更新数据库,同时最大限度地减少读取影响
我在 PostgreSQL 服务器上运行大量后台任务,使用 Sidekiq 从外部源更新记录。但是每当我从后台进程开始写作时,我的SELECTs
痛苦和网络应用程序变得缓慢。
避免阻塞读取的最佳策略是什么?
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 为我的设置无缝工作的最佳方法提前感谢您的帮助!!!