我正在使用node.js,并且我希望在有对像./calculate 这样的url 的请求时启动一个新进程来进行这些复杂的计算,并且即使调用它的脚本已经完成,我也希望该进程继续进行。可能吗?
谢谢你。
我正在使用node.js,并且我希望在有对像./calculate 这样的url 的请求时启动一个新进程来进行这些复杂的计算,并且即使调用它的脚本已经完成,我也希望该进程继续进行。可能吗?
谢谢你。
您可以使用本机提供的子进程工具: http ://nodejs.org/api/child_process.html
并使用 unix "nohup" 命令使生成的进程保持活动状态,即使父进程死亡。
对此有不同的方法。
您可以使用https://github.com/pgriess/node-webworker。
或者更好的http://nodejs.org/docs/latest/api/cluster.html#cluster_cluster。
这些解决方案是,如果您想在 Node 中执行子进程,您也可以简单地生成一个新的 Node 进程并等待输出(http://nodejs.org/api/all.html#all_child_process_spawn_command_args_options)但 node-webworker 是包装该解决方案并且更清洁。
因此,在您的最后评论之后,我更了解您想要做什么。
您想生成进程而不是子进程。最好和更干净的方法是使用某种恶魔化器来运行它们。
看看永远:
https ://github.com/nodejitsu/forever
https://github.com/nodejitsu/forever-monitor
这可能是您的完美工具。我从来没有以编程方式使用它,只是 cli。但这是我要研究的。