Martinet是一个开源分布式任务管理系统

banq 14-08-19
    

Martinet是一个基于后台数据库与ZeroMQ的分布式任务管理系统,它会将持久一些未来将运行的任务,如果系统突然当机,这些任务将不会受到影响,Martinet使用与sequelize.js兼容的数据库,当前缺省是SQLite

Martinet使用push-pull消息模式确保在分布式环境有效使用。

    

lostalien
2014-08-20 13:31

任务管理系统的使用场景是啥。。。

banq
2014-08-20 15:41

任务分设置 定义和执行方式三步,

//任务设置
var MartinetWorker = require('martinet').Worker;

var WORKER_PORT = 3000;
var worker = new MartinetWorker(WORKER_PORT, {
martinet_url: '127.0.0.1',
martinet_port: '8089'
});

//任务定义
worker.on('task_name', function(taskId, data, callback) {
// do a thing.

// if it's successful, callback(),
// if there's an error, callback(err)

});

//任务执行,分三种方式:立即执行 延时执行 或周期执行
martinet.execute({
worker: 'WORKER_NAME',
name: 'task_name',
description: 'Do a thing'
// Used in the backend so it's easier to lookup tasks later
}, args);


任务类似进程或线程的概念。