【问题标题】:Is there a way to use Apify.main() without it exiting the node.js process on completion?有没有办法使用 Apify.main() 而不会在完成时退出 node.js 进程?
【发布时间】:2019-10-24 14:47:34
【问题描述】:

我在我的应用程序中使用 Apify SDK,并使用 Apify.main() 函数编写了许多爬虫。 main() 的最后一个动作是退出节点进程,但这不符合我的目的。有没有办法覆盖这种行为?

【问题讨论】:

标签: apify


【解决方案1】:

您不需要使用Apify.main您可以简单地继续使用它之后的代码。 Apify.main 不会退出进程。以下代码完全运行:

const Apify = require('apify');

Apify.main(async () => {
    console.log('main');
});
console.log('after main');

Apify.main 的主要原因是:

1) 确保其中的函数提前完成,这样它就不会像您的顶级代码那样等待回调。

2) 它发出一些事件。

【讨论】:

  • 谢谢卢卡斯。据我从文档 (sdk.apify.com/docs/api/apify#module_Apify.main) 中了解,main() 确实退出了 node.js 进程。当我运行您的代码时,这似乎得到了确认,尽管它确实在“main 之后”记录了日志,但大概是因为 main() 函数是异步的?
  • 对不起,我错了。它确实退出了 Node 进程。 after main 日志之所以起作用,是因为我在里面传递了异步函数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多