ruby-on-rails-4 – 通过活动作业处理依赖性破坏
发布时间:2020-12-17 03:32:35 所属栏目:百科 来源:网络整理
导读:我有几个有很多孩子的模特.依赖性破坏变得非常沉重.任何人都知道如何将依赖性破坏与活跃的工作联系起来?或者,我唯一的选择是通过父模型上的回调删除依赖的销毁和角色我自己的工作? 解决方法 您可以创建一个工作程序来销毁模型异步并将其排入队列.就像是:
我有几个有很多孩子的模特.依赖性破坏变得非常沉重.任何人都知道如何将依赖性破坏与活跃的工作联系起来?或者,我唯一的选择是通过父模型上的回调删除依赖的销毁和角色我自己的工作?
解决方法
您可以创建一个工作程序来销毁模型异步并将其排入队列.就像是:
class ComplexModelDeletion < ActiveJob::Base def perform(model) model.destroy! end end 模型可能是这样的: class Model < ActiveRecord::Base def destroy_later ComplexModelDeletion.enqueue(self) end end 然后,每当您需要杀死此模型的实例时,您可以调用Model#destroy_later将其排入队列.您甚至可以在将对象排队之前将其标记为已删除,以防止在实际终止之前从DB中检索该对象. 不确定这是否会按原样运行,只是为了让您了解自己可以做些什么. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |