Rails 3 delay_job“ TypeError:无法转储匿名模块”

斯特伦

我有一个控制器动作,希望异步处理。

class CollectionsController < ApplicationController
    def add
    #code
    end
    handle_asynchronously :add

调用此方法时,我得到一个:TypeError:无法转储匿名模块

尚不清楚delay_job文档是否该方法必须是ActiveRecord模型方法。我已经看到了人们使用其他类来处理此问题的示例,但是我的方法使用了会话信息。我不清楚该信息是否可供其他班级使用。

有任何想法吗?

谢谢。

james_bowles

延迟的工作不必是ActiveRecord模型,您可以将功能添加到普通的旧Ruby类中,请参见https://github.com/collectiveidea/delayed_job#custom-jobs

您可能不希望控制器动作被异步处理,因为这会给HTTP请求增加不必要的延迟。我的建议是像这样在控制器中排队一个工作:

class CollectionsController < ApplicationController
  def add
    Delayed::Job.enqueue CollectionBuilderJob.new(@current_user.session_info)
  end
end

class CollectionBuilderJob < Struct.new(:session_info)
  def perform
    #code
  end
end

这种方法使您可以隔离测试延迟的工作

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

rails docker中的delay_job无法正常工作

来自分类Dev

Rails:after_create回调上的delay_job?

来自分类Dev

Rails 4-如何通过delay_job发送类似新闻通讯的电子邮件?

来自分类Dev

Rails-异步发送所有带有delay_job的电子邮件

来自分类Dev

如何在Rails中使用delay_job将文件读取(导入)到数据库

来自分类Dev

Rails-异步发送所有带有delay_job的电子邮件

来自分类Dev

delay_job耙工作:工作rails 4不发送邮件

来自分类Dev

如何在Rails中使用delay_job将文件读取(导入)到数据库

来自分类Dev

delay_job丢失方法

来自分类Dev

Rspec测试delay_job

来自分类Dev

冲突delay_job / sidekiq

来自分类Dev

delay_job进程默默退出

来自分类Dev

启动heroku delay_job工人

来自分类Dev

Rakefile用于Sinatra的delay_job

来自分类Dev

Heroku delay_job依赖项

来自分类Dev

Heroku上的Rails应用程序中出现Sass错误:无法转储匿名类

来自分类Dev

Heroku上的Rails应用程序中出现Sass错误:无法转储匿名类

来自分类Dev

为什么在delay_job中关闭了时区?

来自分类Dev

delay_job没有看到环境变量

来自分类Dev

如何优雅地重启delay_job消费者?

来自分类Dev

避免在delay_job队列中重复工作

来自分类Dev

在视图中显示delay_job处理程序

来自分类Dev

为什么在delay_job中关闭了时区?

来自分类Dev

更新run_at以获得delay_job队列

来自分类Dev

使用delay_job和tute / merit延迟徽章分配

来自分类Dev

避免在delay_job队列中重复作业

来自分类Dev

通过delay_job将图像上传到heroku

来自分类Dev

Rails 4.0,sass,Zurb Foundation:警告。保存高速缓存时遇到错误...无法转储匿名类

来自分类Dev

Rails打印(转储)变量

Related 相关文章

热门标签

归档