웹 응용 프로그램에서 여러 엔티티의 일련 번호를 생성하도록 여러 cron 작업을 예약하려고합니다. 그러나 나는 각 테이블을 반복 할 때이 문제를 겪고있다. date.js와 관련이 있다고 말한다. 나는 데이트 대상을 가지고 아무것도하지 않을거야? 어쨌든이 단계가 아닙니다. 두 가지 추측은 cron 객체가 코드에서 날짜를 처리하고 date.js를 참조한다는 것입니다. date.js를 사용하여 ISO 날짜와 같은 항목에 액세스합니다.Node.js 날짜 객체와 함께 작동하는 Cron Job
for (t in config.generatorTables) {
console.log("t = " + config.generatorTables[t] + "\n\n");
var ts3 = azure.createTableService();
var jobSerialNumbers = new cronJob({
//cronTime: '*/' + rndNumber + ' * * * * *',
cronTime: '*/1 * * * * *',
onTick: function() {
//console.log(new Date() + " calling topUpSerialNumbers \n\n");
manageSerialNumbers.topUpSerialNumbers(config.generatorTables[t], function() { });
},
start: false,
timeZone: "America/Los_Angeles"
});
ts3.createTableIfNotExists(config.generatorTables[t], function (error) {
if (error === null) {
var query = azure.TableQuery
.select()
.from(config.generatorTables[t])
.where('PartitionKey eq ?', '0')
ts3.queryEntities(query, function (error, serialNumberEntities) {
if (error === null && serialNumberEntities.length == 0) {
manageSerialNumbers.generateNewNumbers(config.maxNumber, config.serialNumberSize, config.generatorTables[t], function() {
jobSerialNumbers.start();
});
}
else jobSerialNumbers.start();
});
}
});
}
그리고 나는 server.js.logs의 \의 0.txt 파일을 검사 할 때 내가지고있어 오류 메시지입니다 :
C : \ 노드 \ \ WebRole1 w 공공 \ 자바 스크립트 \를 \ 날짜 .js : 56 onsole.log ('isDST'); . (| C | M | P) (S |/(E D) T /) this.toString() 일치를 반환 [2] == "D" ^ 오류 : 속성을 읽을 수 없습니다 '2'널 중 Date.isTST (C : \ node \ w \ WebRole1 \ public \ javascripts \ date.js : 56 : 110) (Date : (C : \ node \ w \ WebRole1 \ node_modules \ cron \ lib \ cron.js : 88 : 30) 에서 Object.sendAt (C : \ node \ w \ WebRole1 \ node_modules \ cron \ LIB \는 cron.js : Object.getTimeout 17) (C : 51 58 : 30)에 Object.start (C : \ 노드 \ \ 노드 \를 \ WebRole1 \ node_modules \ 크론 \ LIB \ cron.js 승 C 33) : 279 : \ server.js \ \ WebRole1 w 노드 \ 169 : Object.generateNewNumbers에서 46 (C : \ 노드 \ w \ WebRole1 \ WebRole1 \ node_modules \ 크론 \ LIB \ cron.js w \ utils \ ma nageSerialNumbers.js : 106 : 5)에 C : \ \ WebRole1 server.js \ w 노드 \ 168 C 45 : \ 푸른 \ LIB \ 서비스 \ \ WebRole1 \ node_modules w 노드 \ \ 테이블 \ tableservice.js : 485 : 내 database.js 파일에이 라인을 사용하고 7
:
이 요구를 ('../ 공공/자바 스크립트/날짜'); date.js 글로벌 때문에
, 나는 한 번만 수행해야한다는 것을 맞습니까? 나는. inbuilt 데이트 객체를위한 프로토 타입 (확장)을 가지고있다. manageSerialNumbers.js 내에서 그냥 콜백을하고있는 중이 야, 어떤 코드가 나는 모두를 주석 한대로 실행,하지만 여전히 오류가 발생 그들의입니다.
도움이나 조언을 보내 주시면 감사하겠습니다.
좋아 나는 date.js 모듈을 주석 처리했고 지금은이 오류를 받고 있어요 :
당신은 시간대를 지정하지만 time
모듈을 포함하지 않았습니다. 표준 시간대 기능을 사용할 수 없습니다. 응용 프로그램에 시간대를 사용하려면 time
모듈을 설치하십시오.
var CronDate = Date;
try {
CronDate = require("time").Date;
} catch(e) {
//no time module...leave CronDate alone. :)
}
그래서이는 date.js 모듈을 함께 할 수있는 뭔가를 가지고 있음을 다음 결론을 내릴 것입니다 :
나는 cron.js을 검사
는 상단이 문이 모듈?누구나 무엇이 잘못되었는지 확인하십시오.
환호