你如何实现定期执行工作?

时间:2014-05-23 13:02:20

标签: node.js message-queue jobs periodic-task

我最近实现了一个自动回复包含任意主题标签的推文的系统。该系统包括定期抓取Twitter的流程和定期回复这些推文的流程。遵循我公司的传统,这些期刊工作是通过RDMS上的工作表来实现的,这些工作表具有状态列,其具有诸如"等待","处理"等值的值。或者"成功"。为了确保冗余,我通过利用低级别锁来运行多个相同的进程。

我的问题是,我定期在RDMS中使用工作表来实现作业,这些作业通常是如何实现的。

1 个答案:

答案 0 :(得分:9)

有一个节点包cron,允许您以某个指定的时间间隔执行代码,就像crontab一样。以下是该软件包的链接:https://www.npmjs.org/package/cron

例如:

var cronJob = require("cron").CronJob;

// Run this cron job every Sunday (0) at 7:00:00 AM
new cronJob("00 00 7 * * 0", function() {
    // insert code to run here...
}, null, true);

您可以使用该模块定期运行某个作业,这会抓取Twitter或回复推文。