2012-03-05 72 views
0

我有一个Rails应用程序,当前包含一个rake任务,该任务转到网站并执行一些屏幕抓取,然后在表中创建多个记录。当我运行这个特定的脚本时,大约需要10秒钟才能完成。这种性能太慢,不符合我的应用要求。 (注意:该性能是通过从命令行运行rake任务实现的)。Rails应用程序性能Rake任务vs应用程序方法

问题 - 如果要将rake任务转换为常规应用程序方法,应该期望提高性能,如果是这样,为什么?

+0

你是什么意思的“常规应用方法”? – sarnold 2012-03-05 23:56:18

+0

只需在应用程序中的某个对象上使用方法即可。 – Mutuelinvestor 2012-03-06 00:14:14

+0

由于来自客户端的传入请求而运行的东西? – sarnold 2012-03-06 00:28:20

回答

2

恕我直言,将耙子任务拆分为常规转轮应用程序不会改善性能。这是因为你仍然需要加载所有轨道组件,而且速度很慢。我建议你看看优化你的算法逻辑。

如果任务的运行速度不够快,您应该使用DelayedJobs或Resque或cron作为后台作业来运行它们。

+1

这需要我的系统'0.4 s'从热缓存加载'script/runner';这并不太可怕.. – sarnold 2012-03-06 00:27:48