미래의 문자 메시지 알림을 예약 할 수있는 더 큰 프로젝트의 일환으로 테스트 스크립트를 작성하려고합니다. 스크립트에서 cron과 node-schedule 노드 패키지를 모두 사용하려고합니다. 앞으로 3 분으로 설정된 날짜 개체를 구성합니다. 두 가지 패키지를 모두 사용하여 작업을 예약합니다. 그러나 메시지는 적시에 전송되지는 않지만 즉시 전송됩니다.자바 스크립트 : 노드 크론 및 노드 스케줄 작업이 미래가 아닌 즉시 실행됩니다.
미래에 설정 한 시간에 코드를 실행하고 싶다면 다음 코드가 작동하지 않는 이유를 아는 사람이 있습니까?
var CronJob = require('cron').CronJob;
var twilSms = require('./TwilSms');
var schedule = require('node-schedule');
var sendInThree = function(to,message) {
var threeMinutes = 180000;
var inThreeMinutes = new Date(Date.now()+threeMinutes);
process.stdout.write("A text message should be sent at: \n" + inThreeMinutes.toString() + '\n');
//TRIGGERS INSTANTLY
var sched = schedule.scheduleJob(inThreeMinutes,twilSms.sendSms(to,
('Did this message arrive at: ' + inThreeMinutes.toString() + '?')));
//TRIGGERS INSTANTLY
var cronSMS = new CronJob(inThreeMinutes,
twilSms.sendSms(to,
('Did this message arrive at: ' + inThreeMinutes.toString() + '?')),
null, true);
}
sendInThree('13125555555');
NOTES : 노드 REPL 예상대로
twilSms.sendSms 함수() workes.
나는 SO에 업로드 할 때만 가짜 번호를 사용했습니다.
도움 주셔서 감사합니다.
Macell! 귀하의 제안이 효과가있었습니다. 익명 함수 내에서 함수를 래핑하는 것을 피할 수있는 방법이 있습니까? 구문론적인 설탕 은요? 익명의 함수에서 호출 할 수 있도록 표준 함수와의 차이점을 설명하는 것을 권유합니다. – ChitownDev
예를 들어 리팩토링해야한다고 생각하십니까? var sendSMS = function (to, message) { client.messages.create (smsFactoryFromDefault (to, message)); } module.exports.sendSms = sendSMS; – ChitownDev
내 업데이 트를 참조하십시오. – marekful