delayed-job相关内容
我有我的交易电子邮件系统设置 &默认情况下,人们会在事件发生时收到电子邮件: class 注释after_create :email_original_posterdef email_original_posterUserMailer.delay.notify_author_of_comment self结尾结尾 但是,我的大部分用户更喜欢每日或每周摘要,而不是即时收到电子邮件. 最简洁
..
Delayed::Job 的自动重试功能很棒,但我现在想手动重试一个作业.有没有一种方法我可以调用工作本身,比如...... 延迟::Job.all[0].perform 或者跑,或者别的什么.我尝试了一些东西,并梳理了文档,但无法弄清楚如何执行手动重试作业. 解决方案 手动调用作业 Delayed::Job.find(10).invoke_job # 10 是job.id 如果作
..
今天,每次我启动 delayed_job 工作程序时,该进程都会立即无声地死掉. 经过一番调查(并了解 delayed_job 的前台模式),我终于发现问题是 delayed_job 序列化我的活动记录对象的方式正在触发YAML 加载部分的异常: Psych::SyntaxError: (): 在第 7 行第 14 列的上下文中不允许映射键来自/Users/mick/.r
..
在 application_controller 的一个动作中,如果我们尝试: p request.env.to_yaml 我会收到这个错误: TypeError: can't dump anonymous module: #来自/Users/twer/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/p
..
是否有一种简单的方法可以告诉 Devise 通过以下方式发送所有电子邮件延迟工作? 解决方案 或者,您可以非常轻松地实现和使用您自己的 ActionMailer“交付方法",而不是使用 Delayed::Mailer gem,该方法... 拦截来自 ActionMailer 的邮件发送 将电子邮件存储在表格中(可选) 创建一个 Delayed::Job 引用存储的电子邮件 在执
..
只是想知道如何测试 actionmailer 请求实际上发送到了 rspec 中的延迟作业队列. 我会认为这很简单,但我的 delay_job 队列似乎没有增加.代码如下: 控制器: def 创建@contact = Contact.new(params[:contact])如果@contact.savecontactmailer = ContactMailercontactmai
..
尝试升级到Rails 4.2,使用delayed_job_active_record.我没有为测试环境设置 delay_job 后端,因为我认为作业会立即执行. 我正在尝试使用 RSpec 测试新的“deliver_later"方法,但我不确定如何. 旧控制器代码: ServiceMailer.delay.new_user(@user) 新的控制器代码: ServiceMaile
..
我有一个通常需要几秒钟才能完成的过程,因此我尝试使用 delay_job 来异步处理它.作业本身运行良好,我的问题是如何对作业进行轮询以了解它是否已完成. 我可以通过简单地将其分配给一个变量来从 delay_job 中获取一个 id: job = Available.delay.dosomething(:var => 1234) +------+---------+---------
..
我正在与 Resque-worker(5 名工人)一起做一些工作.现在,当这项工作完成/完成时,我想触发另一个工作人员处理存储在数据库中的前一个工作人员的数据.这样做最合适的方法是什么? 解决方案 我不确定这是否有任何帮助,但是您是否查看过 resque-status gem?这样您就可以跟踪给定作业的状态,以查看它何时完成.但是我担心没有自动触发功能来启动新工人.
..
我在 node.js 应用程序中使用 kue 处理延迟作业. 我有一些问题要弄清楚如何使用 kue 的 API 重新启动作业,而不必使用 redis 命令手动将作业 ID 从失败作业列表移动到非活动作业列表. 这可以使用 kue 吗? 我不想设置固定的重试次数 - 我只想重试特定的作业. 也欢迎提供维护良好的 kue 替代方案的建议. 解决方案 我不知道这是否有效,但您
..
GitHub 的家伙最近发布了他们使用 Redis 的后台处理应用程序:http://github.com/defunkt/resquehttp://github.com/blog/542-introducing-resque 我让它在本地工作,但我正在努力让它在生产中工作.有没有人有: Capistrano 部署工人的秘诀(控制工人数量,重新启动他们等) 已部署的工作器将机器与运行
..
知道如何从 ActiveJob 排队中获取 Delayed::Job id 吗?当我将作业排入队列时,我会返回一个带有 @job_id 的 ActiveJob::Base 实例,但该作业 ID 似乎是 ActiveJob 的内部.到目前为止,我最好的猜测是走下最近创建的工作: active_job_id = GenerateReportJob.perform_later(self.id).job
..
在我的延迟作业中,我尝试在 tmp 文件夹中创建一个文件 file_path = Rails.root.join('tmp', "#{file_name}." + file_extension);export_file = kit.to_pdf# 保存文件到磁盘File.open(file_path, 'wb') do |file|文件 它在本地运行良好,但在 Heroku 上延迟作业有错误“
..
我想知道是否有任何好的解决方案可以在生产环境中自动缩放 Heroku 上的 dynos 和 worker(可能对每个解决方案都有不同的解决方案,因为它们非常不相关).您/公司在这方面使用什么? 我发现了很多选择,但对于生产环境来说,似乎没有一个是真正成熟的.有 Heroscale,它似乎引入了一些延迟,因为它不在本地运行,而且我也听说过一些停机时间.有delay_jobs的修改,已经很久没有
..
我正在安排一个作业运行,比如说,10 分钟.如何在不使用模型中任何类型的脏额外字段的情况下正确取消此特定作业等.是否有任何要求删除特定作业或与特定模型、实例等相关的作业? 解决方案 disclaimer: 我不是delayed_job的专家用户... "是否有任何要求删除特定作业或与特定模型、实例等相关的作业?" Delayed::Job 只是一个 ActiveRecord 对
..
我在 Amazon Elastic Beanstalk 上托管了一个 Rails 项目,我尝试配置一个容器命令 每次部署后在服务器上自动重启我的 delayed_job worker. 我试过这个: container_commands:重启延迟作业:命令:“RAILS_ENV=生产脚本/delayed_job --pid-dir=/home/ec2-user/pids start"cwd
..
我需要在后台标记一组消息(我正在使用 delay_job gem),因为在前台需要一些时间.所以我创建了一个 ActiveJob 类 MarkMessagesAsReadJob,并将它传递给 user 和 messages 变量以标记所有为 user 读取的 messages. //在控制器中传递值@messages = @conversation.messagesMarkMessagesAsR
..
我从 3.1.0 开始运行 Ruby on Rails 3.2.2.我有问题 未定义方法 send_register_email\' for #\n//.rvm/gems/ruby-1.9.2-p290/gems/delayed_job-3.0./lib/delayed/performable_mailer.rb:6:in perform ... 使用许多其他人试图解决的 DelayedJob
..
我正在尝试正确使用 Capistrano 和 RVM,以便将我的 Ruby on Rails 3.2.2 应用程序部署到运行 Ubuntu 10.04 LTS 的远程机器.我接缝解决了我之前与“Rvm相关的问题- Linux Ubuntu 上的 Capistrano 集成".但是,在部署时,我收到与 DelayedJob gem 相关的以下错误: ...* 执行“cd/srv/www//rel
..
我正在尝试在Rails 3应用程序中使用“延迟作业",但一直遇到障碍.作业不断失败,并显示以下错误: Job无法加载:未初始化的常量CrawlJob. 我发现了其他几个SO线程,但没有遵循建议.这是相关的代码. Application.rb 需要File.expand_path('../boot',__FILE__)需要"rails/all" ... 模块精简类申请
..