如何在heroku上的多个worker dynos上构建计划任务,其中每个worker dyno都有一批不同的行

时间:2016-04-29 17:36:54

标签: node.js multithreading heroku cron

我正在尝试在heroku上构建一个应用程序,并且很清楚如何添加更多的工作人员dynos来完成相同的任务。

但是,我在这里尝试做的是创建一个运行多个工作人员dynos的cron作业,其中每个人都运行一批增量任务,想象下面的代码:

// those are variables coming from a cron
var limit;
var start;

connection.query("SELECT * FROM posts LIMIT " + limit + ", " + start, function(error, videos) {
    // do something
});

我需要做的是如下:创建一个每2个小时运行一个脚本的时钟工作者,这应该将工作人员的dynos数量调高,向他们每个人传递限制和启动变量并缩小当任务结束时就会失败。

我真的很感激任何帮助/指导。

1 个答案:

答案 0 :(得分:0)

我还没有真正做到这一点,但它在我的待办事项列表中。乍一看,我没有看到任何使用heroku的方法,但看起来最值得的解决方案是在已知端口上运行Node来构建EC2 AMI;使用调度程序启动它们并将作业传递给侦听应用程序。只要传入db连接字符串,EC2就能从数据库中提取信息并传回结果。