Ruby on rails 关于使用resque的几个问题
我正在使用Resque运行后台进程。以下是我的背景流程的工作原理:Ruby on rails 关于使用resque的几个问题,ruby-on-rails,resque,Ruby On Rails,Resque,我正在使用Resque运行后台进程。以下是我的背景流程的工作原理: 扫描ActiveRecord模型中的所有行 检查情况 如果满足条件,则更新行 这需要无限地继续下去 这就是我尝试使用Resque的方式,这是我的工人阶级: class ThumbnailMaker @queue = :thumbnail_queue def self.perform() MyObj.check_thumbnails(root_url) end end 我知道perform()方法将任务保存
class ThumbnailMaker
@queue = :thumbnail_queue
def self.perform()
MyObj.check_thumbnails(root_url)
end
end
我知道perform()
方法将任务保存在队列中,并定期运行。在我的例子中,我需要一个扫描整个表的任务,这样它可以运行更长的时间。这是一个很好的解决方案,我的要求
另一方面,我需要我的Rails应用程序的根url,这可以通过Rails控制器中的
root\uURL
轻松获得。但是我在我创建的类中需要它,你能建议我如何在这里获得它吗?Resque用于将要在后台运行的任务排队;队列中的每个项目运行一次,然后被删除。您想要的更像是一个计划任务——例如,一个或其他不时运行的脚本;这类东西有很多可用的方法(非常流行)或者只使用cron。关于这个主题,有很多问题。您可能希望尝试将代码放入rake任务中,并通过cron作业定期运行它。Resque/Redis对于您的需求来说似乎有点太多了
<>您可以考虑通过控制器将类URL传入AS中,如果您正在调用您的类。否则,您可能需要将其设置为ENV设置,并相应地配置每个部署。有关
根url
问题,请参阅