t

어제 만들다가 버린 웹크론...

· 9년 전 · 2102 · 8

포기했습니다.

귀차니즘....

 

# 1차

[code]

var CronJob = require('cron').CronJob;

var request = require('request');

var fs = require('fs');

var DataDir = './data/';

var url = '';

global.job_tree = [];

 

// Data 폴더를 검색 하여 파일만큼 처리

fs.readdir(DataDir, function (err, filenames){

 

    var i;

    for(i = 0; i < filenames.length; i++) {

 

ReadFile(DataDir, filenames[i]);

    }

});

 

 

 

 

//변경된 파일이 있다면 종료 후 재시작 한다.

fs.watch(DataDir, (event, filename) => {

if(filename) {

 

console.log('내용변경: '+filename);

ReadFile(DataDir, filename);

}

});

 

 

 

// 파일 READ 하여 크론탭 생성

function ReadFile(Dir, filenames) {

 

File = Dir+filenames;

fs.readFile(File, function (err, data) {

 

if(err) return;

if(global.job_tree[filenames]) global.job_tree[filenames].stop();

 

new_data = data.toString().split("\r\n");

global.job_tree[filenames] = new CronJob({

cronTime: new_data[0],

onTick: function(data) {

 

url = new_data[1];

request(url, function(error, response, html) {

 

console.log(url);

});

},

start: false,

timeZone: 'Asia/Seoul'

});

global.job_tree[filenames].start();

});

}

[/code]

 

 

 

# 2차

[code]

var CronJobManager = require('cron-job-manager'),

manager = new CronJobManager( // this creates a new manager and adds the arguments as a new job.

'a_key_string_to_call_this_job',

'0 30 * * * *', // the crontab schedule

function() { console.log("tick - what should be executed?") },

{

  start:true,

  timeZone:"Asia/Seoul",

  completion: function() {console.log("a_key_string_to_call_this_job has stopped....")}

);

var request = require('request');

var md5 = require('md5');

var fs = require('fs');

var DataDir = './data/';

var JobList = new Array();

 

// Data 폴더를 검색 하여 파일만큼 처리

fs.readdir(DataDir, function(err, filenames){

 

for(var index in filenames) {

 

fs.readFile(DataDir+filenames[index],

(function(filename, err, data) {

 

key = 'job_' + md5(filename[index]);

JobList.push(key);

 

new_data = data.toString().split("\r\n");

//console.log({new_data, key});

 

manager.add(key, new_data[0], function(e) {

request(new_data[1], function(error, response, html) {

 

console.log(new_data[1]);

});

//console.log(url);

});

manager.start(key);

}).bind(null, filenames[index])

);

}

});

[/code]

|

댓글 8개

올래~~ 작동은 하나요?
일단은 작동은 하는데 실시간 변경 검출 하고 url이 하나로 고정 되는걸 못잡았습니다...

만들다가 말아버린거라...
홧팅!!! 기다릴께요. 제대로 만들어 주세요....ㅎㅎ
당분간 보류 입니다.
언젠간 공개 하겠습니다 ㅋㅋㅋ

다른 프로그램으로는
http://blog.z9n.net/126
도 있습니다.
화이팅!
감사합니다. 일단 무기한 보류 ㅎㅎㅎㅎ
홧팅
감사합니다 ㅎㅎㅎ
댓글을 작성하시려면 로그인이 필요합니다.

자유게시판

+
제목 글쓴이 날짜 조회
9년 전 조회 2,349
9년 전 조회 2,374
9년 전 조회 2,475
9년 전 조회 2,194
9년 전 조회 3,125
9년 전 조회 2,198
9년 전 조회 2,043
9년 전 조회 1,806
9년 전 조회 2,663
9년 전 조회 2,307
9년 전 조회 2,674
9년 전 조회 2,065
9년 전 조회 4,681
9년 전 조회 2,281
9년 전 조회 2,103
9년 전 조회 2,477
9년 전 조회 2,074
9년 전 조회 1,730
9년 전 조회 1,654
9년 전 조회 2,094
9년 전 조회 1,393
9년 전 조회 1,836
9년 전 조회 1,468
9년 전 조회 1,596
9년 전 조회 1,561
9년 전 조회 1,711
9년 전 조회 1,854
9년 전 조회 1,779
9년 전 조회 1,707
9년 전 조회 2,113