我有一个名为投票的模型经常变化(人们投票的东西)。我在保存投票后进行其他分析,例如如果投票人是男性/女性,年龄等等,则进行插值。这会导致更新(成人投票,女性投票等)同一模型的计数器。
我想知道在保存处理之后执行此操作的最佳方法是什么,如果这是一个后台工作(我使用delayed_job插件),还是最好留下作为after_save回调?从性能角度来看哪个更好?
我真的不需要向用户显示第二个最新数据(即使after_save回调也无法实现这一点)。
由于
答案 0 :(得分:1)
我的经验法则是,如果完成需要的时间超过一秒(平均) - 我会把它推到后台工作,否则我会保持同步。我使用delayed job,它运作良好,我没有理由离开它。我有一个案例,我不需要在后台作业中访问数据库,我使用自定义rake任务,它非常有效,并且节省了我必须实现后台作业处理器。