我有一个名为 Vote 的模型,该模型非常频繁地更改(人们对事物进行投票)。我在投票保存后进行其他分析,例如插值选民是男性/女性、年龄等。这会导致更新同一模型中的计数器(成人投票、女性投票等)。
我想知道保存处理后执行此操作的最佳方法是什么,这应该是后台作业(我使用延迟作业插件)还是最好将其保留为 after_save 回调?从性能的角度来看,哪个更好?
我真的不需要向用户显示第二个最新数据(即使 after_save 回调也无法完成)。
谢谢
我有一个名为 Vote 的模型,该模型非常频繁地更改(人们对事物进行投票)。我在投票保存后进行其他分析,例如插值选民是男性/女性、年龄等。这会导致更新同一模型中的计数器(成人投票、女性投票等)。
我想知道保存处理后执行此操作的最佳方法是什么,这应该是后台作业(我使用延迟作业插件)还是最好将其保留为 after_save 回调?从性能的角度来看,哪个更好?
我真的不需要向用户显示第二个最新数据(即使 after_save 回调也无法完成)。
谢谢
我的经验法则是,如果完成时间超过一秒(平均) - 我将它推到后台作业,否则我将保持同步。我使用延迟工作,它运作良好,我没有理由离开它。我有一个案例,我不需要在后台作业中访问数据库,并且我使用了自定义 rake 任务,它非常高效并且让我不必实现后台作业处理器。