좋은 프로그램은 마음의 여유에서 나온다.

잡 스케쥴러 본문

프로그래밍/node.js

잡 스케쥴러

좋은데이 2016. 5. 19. 11:54

node.js를 매우 오랜만에 사용하는데..


서버가 아니라 데몬으로 돌아가는 클라이언트(기존에 모니터링 에이전트로 파이썬 + grpc를 쓰는데 너무 구려서 노드 grpc로 결정)로 사용하려고 하니...


으잉?? 서버는 클라이언트에서 요청이 올때 처리하면 되는데


클라이언트는 주기적으로 함수가 실행되게 어떻게 하지...


자바스크립트의 setTimeout나 setInterval을 사용해야 하나


하다가 구글에 물어보니


node-schdule 같은 모듈이 있군요. 물론 다른것도 있지만이걸로 선택.


사용법은 매우 간단. cron 표현식도 지원함.


$ npm install node-schedule




예제 1. 매분 30초마다 실행하기


'use strict';

var lib = require('./lib');
var scheduler = require('node-schedule');

var rule = new scheduler.RecurrenceRule();
rule.second = 30;

scheduler.scheduleJob(rule, function () {
   console.log('i am scheduler'); 
});
예제 2. 크론 표현식으로 5초마다 실행하기

'use strict';

var lib = require('./lib');
var scheduler = require('node-schedule');

scheduler.scheduleJob('*/5 * * * * *', function () {
   console.log('i am scheduler');
});

*    *    *    *    *    *
┬    ┬    ┬    ┬    ┬    ┬
│    │    │    │    │    |
│    │    │    │    │    └ day of week (0 - 7) (0 or 7 is Sun)
│    │    │    │    └───── month (1 - 12)
│    │    │    └────────── day of month (1 - 31)
│    │    └─────────────── hour (0 - 23)
│    └──────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59, OPTIONAL)


맥용 비주얼스튜디오 코드를 사용해보는 중인데 가벼운 코드 에디터로 좋은듯. 기존에 어도비의 Brackets를 사용했었는데 비슷한듯. 

vs코드에 jshint 플러그인을 설치하니 실시간으로 지적질 해주네 -_-;;




'프로그래밍 > node.js' 카테고리의 다른 글

리눅스 배포판별로 node.js 버전별로 설치하기  (0) 2016.05.23
http 요청하기  (0) 2016.05.20
mac osx npm 인스톨 에러  (0) 2015.05.18
node.js npm 에러  (0) 2014.02.12
mongoose Trying to open unclosed connection.  (0) 2013.10.30
Comments