What limitations are there when using Delayed Job with Heroku? In particular, how much local storage can be used, and what system binaries (such as zip) are available?
What limitations are there when using Delayed Job with Heroku? In particular, how much
Share
The main limitation that I have hit with using Delayed Job on Heroku is that long running processes will sometimes hit the 512MB RAM limit, and then get killed by Heroku. It’s not done in a clean way (with respect to how delayed job handles it). Delayed Job still thinks there is a running process, so you have to manually remove the task, and then restart it. If your task is not written in such a way that you can restart it and pick back up where it left off then you can run into issues.
Wrt system binaries I have used git before, and I just checked and gzip is available. I normally open a console and spelunk around.
I am not sure of the storage limit on disk. I think I read somewhere that you can use as much as 4GB of space. However, it’s only available to that process and is ephemeral in nature. I normally read in a larger file from S3, and then have one parent process create smaller subtasks that work on the file, passing along the data needed by each subtask as part of the invocation.