如何创建一个nodejs实例以设置计划运行cron作业?

时间:2015-11-16 23:27:18

标签: node.js cron npm cron-task

我需要创建一个nodejs“server”,它实际上不会提供任何资产或内容,但只会运行一些预定的作业来从一个数据库中获取内容并更新另一个数据库。作业的时间表应该是可配置的,并且应该能够随时取消作业。基本上我需要的是定期运行节点脚本。在过去,我已经创建了节点/快速项目,但我很难理解如何实现将在远程计算机上运行的节点实例以及如何启动或终止它。我发现了一个名为“node-schedule”的npm包,它定期运行该作业,但是如何将这个包放在远程机器实例上并运行它?

考虑的一种可能性是在远程计算机上安排一个cron作业,该计划将在设定的时间表上执行“node updateDB.js”,但是要求将所有内容保存在节点包中而不依赖于cron。

1 个答案:

答案 0 :(得分:0)

听起来像是ssh的工作。 就个人而言,我不会使用NodeJS,这应该是非常简单的,使用Node或其他方式,不确定为什么你被卡住了,老实说。我没有反对Node,但我不明白为什么这项任务是必要的,但你当然可以用它来做这件事。

编辑:在阅读你的评论后,我确信有人认为Node是完成这项任务的好工具。我想我不明白你被困在哪里。你坚持哪一部分? 我认为你应该能够很快地解决这个问题。下面的链接应该足以将它们组合在一起。 http://book.mixu.net/node/ch9.html 如果需要在远程服务器上执行ad hoc命令,可以使用Node调用Ansible playbook,在这种情况下,您需要与发出命令的实例共享目标实例上的公共ssh密钥。还有其他方法可以给这只猫上皮,但根据给出的信息,我就是这样做的。我使用Node和Ansible(需要python)+ SSH。

哦,neato,也许如果我被迫使用NodeJS我会使用这个包。 https://www.npmjs.com/package/ssh2-exec 你找到了问题的答案吗?在这里分享。