【问题标题】:Problem to implement multi tasking in node-red在 node-red 中实现多任务的问题
【发布时间】:2018-10-08 08:24:27
【问题描述】:

有没有办法在 NodeRed 中实现多任务处理?我的意思是,我有不同的流程,当我向其中一个注入真实时,他们需要几分钟来完成一些工作。因此,如果我尝试注入另一个流,它将等待所有流完成它们的工作。

【问题讨论】:

    标签: javascript node.js multithreading node-red multitasking


    【解决方案1】:

    NodeJS(以及在它之上运行的所有应用程序,例如 Node-RED)都是单线程的。

    NodeJS 使用事件循环,任务被放置在队列中并按顺序执行,直到该任务成功(通常是由于需要执行 IO)

    在不知道流程中的橙色和红色节点的情况下,我无法猜测它们在做什么,但如果它们没有产生,那么您将不得不等待。应尽可能编写 Node 以使用异步模式而不是阻塞。

    【讨论】:

    • 单节点异步开发。我注意到的是,即使我这样做了,其他工作也必须等待其他流到达它们的末尾,即流的最后一个节点(例如输出)。也许我必须定期向输出发送消息,以免在中间节点堆叠?
    • 最好的办法是在我们的 Slack 实例期间在 Node-RED 上讨论这个问题,并准备好存储您编写的任何自定义节点的代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-31
    • 2021-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多