node.js의 작업관리자 프로그램. Agenda는 여러개의 크론 job을 관리하기 위한 노드 모듈이다. job을 등록하고 job에 대한 정보를 유지하기 위해 MongoDB를 이용한다. 따라서 agenda를 사용한다면 MongoDB를 꼭 설치해야한다.
const agenda = require("agenda")
const db = new Agenda({db: {address: "localhost:27017/agenda-sample"}});
// Async job. 비동기 작업을 정의할 수 있다. 인자를 받아서 콘솔로그를 찍는 job을 정의한다.
agenda.define('greeting', function(job,done){
const data = jobs.attrs.data;
console.log("hello"+data);
done(); // done 콜백함수를 실행한다.
})
// Sync job.
agenda.define('greeting', function(job){
const data = jobs.attrs.data;
console.log({"hello"+data);
})
// mongodb랑 연결이 성공적으로 이루어지면 불러진다.
// mongodb랑 연결이 되었으니 agenda.start()를 불러 agenda를 시작하면 된다.
// 그럼 예약된 job들이 실행된다.
agenda.on('ready', function(){
console.log("Connected to MongoDB");
agenda.start();
}
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=couponpapa&logNo=221242899397