如何在Napa js区域中调用setInterval()?

时间:2019-01-11 02:56:19

标签: node.js setinterval napajs

我需要一个或多个Napa工人在setInterval循环中执行某项操作。我不确定是否已经正式支持该功能(我已经看到一个Git Publish声明该功能已添加)。

我尝试了很多事情,以下代码只是我尝试过的最新事情:

cannot select from parameterized type

我希望循环能够正常工作,在这种情况下,服务器不会停止打印“ asd”。或至少抛出一个错误。相反,该代码似乎没有任何错误,并且在第一个console.log可以执行之前就过早结束了。

谢谢!

1 个答案:

答案 0 :(得分:1)

您的流程在console.log("asd")之前退出

您可以在文件末尾添加process.stdin.resume()以防止  退出过程。

import * as napa from "napajs"
const zone1 = napa.zone.create('zone1', { workers: 4 });

zone1.execute(function ()
{
    const timers = require('napajs/lib/core/timers');

    timers.setInterval(function ()
    {
        console.log("asd");

    }, 100);
}).then(function (res)
{
    console.log(res);

}).catch(function (err)
{
    console.log(err);

});

process.stdin.resume()

检查doing a cleanup action just before node.js exits以获得更多信息。