CHANGELOG
Version 0.7.0
Added experimental foreverd implementation for working with init.d, systemv, etc
Expose
Monitor.killTree
for killing process trees for processes spawned by forever (default: true)Added commands for working with forever log files
Added forever.tail()
Update daemon to 0.3.2
Expose Monitor.spawnWith in Monitor.data
Version 0.6.9
Add
--plain
option disabling CLI colors
Version 0.6.8
Add --watch/-w command line option
Add implementation to restart processes when a file changes
Version 0.6.7
Replace sys module usages with util
Update winston dependency to 0.4.x
Version 0.6.6
Add options.hideEnv to hide default env values
Version 0.6.5
Update
forever.Monitor.prototype.restart()
to allow force restarting of processes in less than.minUptime
Version 0.6.4
Update forever.startServer() to support more liberal arguments.
Version 0.6.3
Create
sockPath
if it does not exist already.When stopping only respond with those processes which have been stopped.
Version 0.6.2
Display warning / error messages to the user when contacting UNIX sockets.
Version 0.6.1
Fixed a bug where numbers in the file path caused forever to think
Process variables are not always available, for example if you execute
Version 0.6.0
Dont allow
-
in uuids generated by forever.When executing stopall, dont kill the current process.
Added forever.debug for debugging purposes
Keep processes silent on
forever restart
if requested. A couple of minor log formatting updatesUpdate
forever list
to use cliffAdded generic hooks for forever.Monitor
Use default values for log file and pid file (prevents a process from being nuked by being daemonized)
Default
minUptime
to 0Create
options.uid
by default in.startDaemon()
if it is already not providedInclude uids in
forever list
Catch
uncaughtException
slightly more intelligentlyForever no longer uses *.fvr files in-favor of a TCP server in each forever process started by the CLI. Programmatic usage will require an additional call to
forever.createServer()
explicitally in order for your application to be available inforever list
orforever.list()
Add
portfinder
dependency to package.jsonExpose
forever.columns
and updateforever.format
to generate results dynamically
Version 0.5.6
Update winston dependency to 0.3.x
Version 0.5.5
Remove .fvr file when a forever.Monitor child exits
Version 0.5.4
Add --spinSleepTime to throttle instead of killing spinning scripts
Version 0.5.3
Added
preferGlobal
option to package.jsonImprove forever when working with
-c
or--command
Version 0.5.2
Print help when a valid action isn't given
Batch the cleaning of *.fvr and *.pid files to avoid file descriptor overload
Check if processes exist before returning in
.findByScript()
.
Version 0.5.1
Readd eyes dependency
Version 0.5.0
Added forever.logFilePath utility.
Added forever.pidFilePath implementation
Added append log implementation to CLI
Fix for spawning multiple processes from a single forever process
Added forever.config using nconf
Better bookkeeping of *.fvr and *.pid files
Version 0.4.1
Remove unnecessary eyes dependency
Version 0.4.1
Update sourceDir option to check for file paths relative to root
Version 0.4.0
Enable forever to track uptime
Add
restart
command to forever.Monitor and CLIEnsure forever.load() is called on require()
Better handling for for
-p
CLI optionEnable options to be passed to child_process.spawn
Version 0.3.1
Allow forever to start any script (not just node) from nodejs code
Array shortcut to set command and options
Check for scripts with fs.stat before running them
Improved how *.fvr and *.pid files are managed by Forever CLI
Ability to delete all historical logs from CLI via 'cleanlogs'
Ability to stop script by name -- stops ALL scripts with that name.
Display logfile in 'forever list'.
Use process.kill() instead of exec('kill').
Emit 'save' event when persisting to disk.
Emit 'start' event when starting a forever child
Remove 'auto-save' feature from Forever.start()
Breaking Changes
Push options hierarchy up one level. e.g. Forever.options.silent is now Forever.silent
Only 'error' event now emits with an error. All other events simply emit data