foreversd / forever

A simple CLI tool for ensuring that a given script runs continuously (i.e. forever)
http://github.com/foreverjs/forever
MIT License
13.87k stars 946 forks source link

can't make forever to stay up forever #1033

Closed glensc closed 5 years ago

glensc commented 5 years ago

can't figure out how to make forever not to stop. I really need my application to be up forever, not stopped even if it dies immediately.

dlb-node_1  | $ forever --debug  --minUptime 0 --spinSleepTime 0 forever.json
dlb-node_1  | warn:    --minUptime not set. Defaulting to: 1000ms
dlb-node_1  | warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
dlb-node_1  | Server created: 0.0.0.0:32645
dlb-node_1  | events.js:141
dlb-node_1  |       throw er; // Unhandled 'error' event
dlb-node_1  |       ^
dlb-node_1  |
dlb-node_1  | Error: getaddrinfo ENOTFOUND mysql mysql:3306
dlb-node_1  |     at errnoException (dns.js:27:10)
dlb-node_1  |     at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:78:26)
dlb-node_1  | error: Forever detected script exited with code: 1

and... app is down!

glensc commented 5 years ago

ok, value 1 seems to do the thing, but the warning is still printed. what the meh?

$ cat forever.json
{
    "minUptime": 1,
    "spinSleepTime": 1,
    "script": "lib/server.js"
}
$ docker-compose logs | head
Attaching to dlb-node_dlb-node_1
dlb-node_1  | yarn run v1.5.1
dlb-node_1  | $ forever forever.json
dlb-node_1  | warn:    --minUptime not set. Defaulting to: 1000ms
dlb-node_1  | warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
dlb-node_1  | Server created: 0.0.0.0:32645
dlb-node_1  | events.js:141
dlb-node_1  |       throw er; // Unhandled 'error' event
dlb-node_1  |       ^
dlb-node_1  |
...
keldnorman commented 5 years ago

crontab -e

@reboot /usr/bin/forever start --minUptime 5000 --spinSleepTime 2000 --sourceDir /root/source/kea_dhcp/kea-anterius ./bin/www > /dev/null 2>&1

glensc commented 5 years ago

I wanted --minUptime 0, but that disabled the feature, so I used 1