如何让脚本执行缓慢?

时间:2013-08-05 10:49:14

标签: performance node.js cassandra cpu-usage

我有任务:需要从" TABLE_FROM"中选择数据,修改它并插入" TABLE_TO"。主要问题是脚本必须在生产中运行,并且不应该损害实时站点性能,但是" TABLE_FROM"包含数亿行。要使用nodejs运行脚本。有什么技术可以解决这类问题?即。如何使这个脚本慢慢运行"慢慢地#34;或其他词语"轻柔地"防止DB和CPU过载?

脚本执行的时间无关紧要。我使用Cassandra DB。

1 个答案:

答案 0 :(得分:1)

示例代码:

var OFFSET = 0;
var BATCHSIZE = 100;
var TIMEOUT = 1000;
function fetchPush() {
    // fetch from TABLE_FROM, possibly in batches
    rows = fetch(OFFSET, BATCHSIZE);

    // push to TABLE_TO
    push(rows);

    // do next batch in timeout
    setTimeout(fetchPush, TIMEOUT);
}

这里我假设fetch和push是阻塞调用,对于异步处理你可以(显然)使用async