使用Heroku延迟作业有什么限制?特别是,可以使用多少本地存储,以及可以使用哪些系统二进制文件(如zip)?
答案 0 :(得分:2)
我在Heroku上使用Delayed Job时遇到的主要限制是长时间运行的进程有时会达到512MB RAM限制,然后被Heroku杀死。它不是以干净的方式完成的(关于延迟工作如何处理它)。延迟作业仍然认为存在正在运行的进程,因此您必须手动删除该任务,然后重新启动它。如果你的任务不是以你可以重新启动它并且从中断的地方回过来那么你就可以遇到问题。
Wrt系统二进制文件我之前使用过git,我刚检查过并且gzip可用。我通常打开一个控制台并且四处乱窜。
irb(main):007:0> `gzip --version`
=> "gzip 1.3.12\nCopyright (C) 2007 Free Software Foundation, Inc.\nCopyright (C) 1993 Jean-loup Gailly.\nThis is free software. You may redistribute copies of it under the terms of\nthe GNU General Public License <http://www.gnu.org/licenses/gpl.html>.\nThere is NO WARRANTY, to the extent permitted by law.\n\nWritten by Jean-loup Gailly.\n"
我不确定磁盘上的存储限制。我想我读到的地方你可以使用多达4GB的空间。但是,它只适用于该过程,并且本质上是短暂的。我通常从S3中读取一个更大的文件,然后让一个父进程创建更小的子任务,这些子任务可以在文件上工作,并将每个子任务所需的数据作为调用的一部分传递。