You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
all processes are killed if one process exits #167
According to that document, the Procfile spec should be ok with having a short-lived process run alongside a long-lived one. I've not used any other implementation of foreman, and I'm not sure which one is being used on heroku.
I can see here that a killall signal is being emitted whenever a child process exits. It seems intentional, but I'm trying to understand why that would be the desired behavior.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
@jmcantrell I don't maintain this package, but for anyone else out there that wants to use this package and follow the pattern that Heroku is using, here you go.
Looking at https://devcenter.heroku.com/articles/release-phase#specifying-release-phase-tasks, it looks like Heroku altered the Procfile format to include a specific process that runs only during the release phase on their platform. This breaks the idea behind the Procfile, which includes only long-running processes. If any of those processes exists, all processes exit. Why? So you can fix the reason why the service quit :)
To mimic the Heroku experience, you need to include each process in the Procfile in your command line. Given the following Procfile (which builds off of your example):
For your example, above, it would look like ./node_modules/.bin/nf start server redis mongo. This command will start your server, redis, and mongo processes and display colorful output in your terminal.
When you want to invoke the release process/command, you would run ./node_modules/.bin/nf run release.
Throw those in your yarn scripts or somewhere convenient.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Activity
stale commentedon Dec 25, 2020
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
jmcantrell commentedon Dec 27, 2020
I wasn’t able to find anything in the documentation describing this behavior. Is this expected?
hedinfaok commentedon Apr 17, 2021
@jmcantrell I don't maintain this package, but for anyone else out there that wants to use this package and follow the pattern that Heroku is using, here you go.
Looking at https://devcenter.heroku.com/articles/release-phase#specifying-release-phase-tasks, it looks like Heroku altered the Procfile format to include a specific process that runs only during the release phase on their platform. This breaks the idea behind the Procfile, which includes only long-running processes. If any of those processes exists, all processes exit. Why? So you can fix the reason why the service quit :)
To mimic the Heroku experience, you need to include each process in the Procfile in your command line. Given the following Procfile (which builds off of your example):
For your example, above, it would look like
./node_modules/.bin/nf start server redis mongo. This command will start your server, redis, and mongo processes and display colorful output in your terminal.When you want to invoke the
releaseprocess/command, you would run./node_modules/.bin/nf run release.Throw those in your yarn scripts or somewhere convenient.
References:
stale commentedon Jul 21, 2021
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
romgrk-comparative commentedon Oct 15, 2021
ping @slnode @rmg ?