Rails:after_create回调上的delay_job?

跳流

有没有一种方法可以使用delayed_jobgemafter_create在后台运行模型回调函数?

我有一个private函数用作after_create :get_geolocation用户注册后运行的回调

如何配置模型在后台运行?

阿什·威尔逊

是的,您应该能够从ActiveRecord回调中使delay_job任务入队。安装和使用delay_job

  1. 添加gem 'delayed_job_active_record'至您Gemfile并运行bundle install
  2. 通过运行以下命令在数据库中创建delay_job支持表:

    rails generate delayed_job:active_record

    rake db:migrate

  3. 在您的模型中:

class MyModel < ActiveRecord::Base
  after_commit :get_geolocation, on: :create

  private

  def get_geolocation
  end

  handle_asynchronously :get_geolocation
end

请注意,您应该使用after_commit而不是after_create安排作业,这样可以避免在提交事务之前执行作业的情况。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

rails docker中的delay_job无法正常工作

来自分类Dev

Rails回调中after_create,after_save和after_commit之间的区别

来自分类Dev

delay_job丢失方法

来自分类Dev

Rspec测试delay_job

来自分类Dev

冲突delay_job / sidekiq

来自分类Dev

在Rails中替代after_create回调的优雅替代品?

来自分类Dev

Rails FactoryGirl特征与模型after_create回调的关联未设置vanity_url

来自分类Dev

Rails Mailer最佳实践-控制器还是after_create回调?

来自分类Dev

Rails Mailer最佳实践-控制器还是after_create回调?

来自分类Dev

如何创建带有钩子/回调的delay_job作业?

来自分类Dev

delay_job进程默默退出

来自分类Dev

启动heroku delay_job工人

来自分类Dev

Rakefile用于Sinatra的delay_job

来自分类Dev

Heroku delay_job依赖项

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Rails after_create做一个相关的对象

来自分类Dev

rails after_create不更新父模型

来自分类Dev

Rails,after_create被调用两次

来自分类Dev

Javascript无法在Rails的回调上执行?

来自分类Dev

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

来自分类Dev

delay_job没有看到环境变量

来自分类Dev

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

来自分类Dev

避免在delay_job队列中重复工作

Related 相关文章

热门标签

归档