我正在使用 sidekiq-limit_fetch (带有redis)gem进行后台处理。我有以下模态和回调
class Modal < ApplicationRecord
# ======== Callbacks ==============================
after_create :add_activity
def add_activity
p 'came here ************'
p 'came here ************'
# Do some operations here
end
end
我的工作如下
class ActivityWorker
include Sidekiq::Worker
# TODO - Update goal satisfied people
def perform(campaign_id)
Modal.create(data: data)
end
end
我可以在表中看到一些记录但是没有调用after_create回调。我认为回调仅在使用模型/控制器创建/更新/销毁时才有效。我怀疑吗?如果是,请建议我使用回调作业的任何其他方式。
答案 0 :(得分:0)
我建议您编写服务来调用或只编写自己的方法,尽可能少地使用回调。
以下是我的服务方式示例
服务/ create_modal_service.rb
<Application x:Class="<omitted>"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="<omitted>">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Themes/Generic.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>