1

我在控制器中执行操作可能需要很长时间才能完成。防止长时间运行的ActionController同时执行

我想阻止两个用户同时运行它。

到目前为止,我在启动时在数据库中插入一条记录,并在完成后删除它。

什么是更好的方法来做到这一点?

回答

1

你可以将它移动到像DelayedJob这样的背景中,以避免锁定你的应用程序,或者你可以让你的数据库驱动的锁更通用。这一策略似乎并不太合理,特别是如果它阻止了你的申请融化。

+0

谢谢!我结束了使用rake任务和cron来运行我的脚本。 – hometoast 2010-11-17 17:49:57