【问题标题】:Node-Schedule run on different processesNode-Schedule 在不同的进程上运行
【发布时间】:2019-10-22 11:00:47
【问题描述】:

我正在使用 node-schedule 使用 nodejs 执行 cron 工作。这是我的代码:

import '../config';
import schedule from 'node-schedule';

import { startAssignment, closeAssignment } from '../course/schedule';

schedule.scheduleJob('*/1 * * * *', startAssignment);
schedule.scheduleJob('*/1 * * * *', closeAssignment);

我想知道两个计划的作业是在不同的进程上运行还是在相同的进程上运行?我尝试在 Linux 上查看使用

sudo ps -aux

它给出了这个:

22032 0.0 0.0 4632 864 分/2 S+ 17:47 0:00 /bin/sh -c NODE_PATH=。 babel-node app/schedule/index.js

这意味着它在同一个进程上运行。那么有什么方法可以让它们在不同的进程和不同的pid上运行?

为什么我需要它们在具有不同 pids 的不同 进程 上运行?因为当一个进程启动时,我想检查是否有类似的进程以相同的 pid 运行,所以我停止它们以防止可能占用过多资源的 duplicate processes服务器。

谢谢。我感谢任何类型的文件。

【问题讨论】:

    标签: node.js


    【解决方案1】:

    您可以对节点中的多个进程使用 fork。

    const { fork } = require('child_process');
    

    https://itnext.io/multi-threading-and-multi-process-in-node-js-ffa5bb5cde98

    【讨论】:

    • 所以我必须安排一个工作,然后在我的函数中,我会分叉一个 child_process?
    • 它是否返回一个 pid 或类似的东西?
    猜你喜欢
    • 2014-03-19
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 2012-04-05
    • 1970-01-01
    • 2018-04-08
    • 2023-03-03
    • 2021-09-07
    相关资源
    最近更新 更多