Heroku上的Rake任务比本地需要更长的时间

时间:2015-07-15 01:48:00

标签: ruby-on-rails heroku rake-task

我有一个rake任务,在本地大约需要90秒。它遍历对象并创建一个大的PG插入SQL,然后在最后执行它。

在Heroku heroku run rake my_task上需要大约1.5小时(与本地相同的数据)。我一直在研究Heroku和“一次性Dynos”但我找不到太多关于它为什么需要这么长时间的信息,除了我的应用程序是Heroku免费计划,只有一个网络dyno和0工人。

它不是插入需要很长时间,它是事先循环(循环没有DB调用)。

DB是PG Hobby-Basic。 Rails 4.2 Ruby 1.9.3p374

1 个答案:

答案 0 :(得分:1)

如果您正在为您的网络流程使用标准的1X dyno或更大的dyno,您可以在更快的dynos上运行一次性任务,因为在免费/爱好dyno上对Ruby中的~100k对象进行排序可能会拉伸它。

本文介绍了基础知识 - https://devcenter.heroku.com/articles/one-off-dynos#one-off-dyno-type,用于设置一次性dyno的dyno大小。