gpt4 book ai didi

ruby-on-rails - rails : delayed_job on an after_create callback?

转载 作者:行者123 更新时间:2023-12-04 23:02:06 33 4
gpt4 key购买 nike

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

7年前关闭。




Improve this question




有没有办法使用delayed_job gem 运行 after_create后台模型回调函数?

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

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

最佳答案

是的,您应该能够从 ActiveRecord 回调中加入一个 delay_job 任务。致 install and use delayed_job :

  • 添加 gem 'delayed_job_active_record'给您的 Gemfile并运行 bundle install .
  • 通过运行在您的数据库中创建 delay_job 支持表:
    rails generate delayed_job:active_recordrake db:migrate
  • 在您的模型中:

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

    private

    def get_geolocation
    end

    handle_asynchronously :get_geolocation
    end

    请注意,您应该 use after_commit instead of after_create to schedule your job ,因此您可以避免在提交事务之前执行作业的情况。

    关于ruby-on-rails - rails : delayed_job on an after_create callback?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20802900/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com