我正在构建一个工具,用户可以输入他们感兴趣的项目。每24小时我想运行一个脚本,检查来自外部来源的某些JSON响应以获取这些主题。
我的问题是:为什么要创建一个脚本并使用crontab运行它,而不是使用node-cron插件创建一个模块并将其包含在app.js文件中。或者你永远不会这样做?
基本上想要在这个方面寻求最佳实践。
答案 0 :(得分:1)
在我看来,这两种方法的主要区别在于您想要安排工作的水平。使用crontab
时,您的作业由系统上运行的cron
守护程序安排。
node-cron
是cron的纯JavaScript实现。因此系统不负责运行作业,而是负责执行它的V8引擎。只要您的js应用程序运行,就会运行作业。
那么你为什么要使用其中一个?
这取决于你工作的目的,哪里最好拴在一起。如果作业是系统的维护作业,则通过crontab运行它。如果要在node.js中运行函数,请定期使用node-cron。如果要运行bash脚本,则需要使用crontab。因此,您希望如何通过系统(bash)或JavaScript来实现这一目标。