Loopback3定期调用远程方法或API

时间:2017-07-26 08:20:52

标签: node.js cron loopbackjs polling

基本上,我的要求是继续在文件夹中查找新文件,读取文件内容并调用loopback API。

要实现这一目标,我正尝试做以下事情:

我在环回中有一个远程方法,需要定期调用,即每2分钟后调用一次。我在这里阅读官方环回文档中的异步启动脚本: https://loopback.io/doc/en/lb2/Defining-boot-scripts#synchronous-and-asynchronous-boot-scripts 到目前为止,我已经能够编写以下代码:

module.exports = function(app, callback) {
  setInterval(function() {
    console.log('Hello world');
    callback();
  }, 120000);
};

但这会在下面引发错误。

error: uncaughtException: listen EADDRINUSE :::443

另外,有没有办法从启动脚本中调用远程方法?环回是否支持cron / schedular或轮询功能。我是否需要编写一个单独的nodejs应用程序,它将定期调用API。

由于

1 个答案:

答案 0 :(得分:0)

如果服务器已在使用中,您的错误会指出您的地址(端口号)。

  

错误:uncaughtException:listen EADDRINUSE ::: 443

  1. 您可以尝试侦听其他端口号

    app.listen(3000,function(){   console.log('听3000') });

  2. 终止在同一端口上运行的进程

  3. 首先,您需要知道哪个进程正在使用端口3000

    sudo lsof -i :3000
    

    这将列出此端口上的所有PID监听,一旦有了PID,就可以使用以下命令终止它:

    kill -9 {PID}
    
    1. 检查您的代码是否未在同一端口上调用多个侦听
    2. 如果这不能解决您的问题,请告诉我