我的NodeJS应用程序分为几个服务流程,这些服务流程是从主入口点流程衍生而来的。由于Node的spawn()
和fork()
实现的性质,每个进程都需要有自己的入口点文件。这是一个很容易克服的障碍(只需为每个进程创建启动文件)。但是,为了减少重复代码并提取不必要的位,它变得更加复杂。
如果可能,我想使用一个基类,该基类负责处理每个进程共有的所有初始化,如下所示:
//Process.js
class Process {
constructor() {
...Load global settings from Redis
...Connect to channels for IPC (also Redis)
}
}
//WorkerProcess.js
class WorkerProcess extends Process {
constructor() {
super();
...set up workflow graph
}
}
//MainProcessEntrypoint.js
fork( new WorkerProcess() );
这种类型的实现似乎不可行,因为fork()
和spawn()
不接受类作为入口点。这是可以理解的,并且我上面的示例只是作为一个示例说明如何在可能的情况下抽象每个进程之间的共享功能。
有人对如何处理这种情况有建议或想法吗? 不需要基于类的解决方案