在我的应用程序中,用户可以将帖子的状态设置为不同的标志,例如“v”-可见、“d”-删除标记等。
这些标志是通过控制器操作设置的。
我有一个批处理过程,可以运行并清理所有标记为删除的帖子。
Post.find(:all, :conditions => ['status = ?', 'd']).each do |p| p.destroy end
此批处理过程每 x 分钟运行一次。
假设用户用'd'标记帖子=>批处理在某些点运行=>在进程运行时用户将帖子标记为'v'。现在在批处理过程中,记录已经成为删除的目标,并且将在 do 循环完成时删除,但标志已通过控制器操作更改。
理想情况下,如果发生这种情况,我不想在批处理过程中删除该帖子。
处理这个问题的最佳方法是什么?