U mnie jest ta funkcja:
var getTexts = new cronJob( '*/1 * * * *', function(){
var viewConformationEmails = "select * from clients";
ibmdb.open(ibmdbconn, function(err, conn) {
if (err) return console.log(err);
conn.query(viewConformationEmails, function(err, rows) {
if (err) {
console.log(err);
} else if (!err) {
console.log("Success")
}
for (var i = 0; i < rows.length; i++) {
// arrayOfNumbers.push(rows[i].NAME)
// arrayOfNumbers.push(rows[i].PHONE_NUMBER)
// arrayOfNumbers.push(rows[i].HOUR)
// arrayOfNumbers.push(rows[i].MINUTE)
var minute = rows[i].MINUTE;
var hour = rows[i].HOUR;
console.log(rows[i])
var stringg = rows[i]["MINUTE"] + " " + rows[i]["HOUR"] + " * " + "* " + "*"
var textJob = new cronJob( stringg, function(){
client.messages.create( { to:'xxx', from:'yyy', body:'Hello! Hope you’re having a good day!' }, function( err, data ) {});
}, null, true);
}
conn.close(function() {
});
});
});
}, null, true)
co on musi zrobić, to uruchomić cronjob co 1 minutę, który otrzymuje wszystkie wyniki od mojego clients
stół. Następnie przeglądam każdy wynik, i jeśli to jest aktualny czas i ono oblicza czas w bazie danych, to wysyła komunikat. tym nie mniej, uruchamia pierwszą cronjob w każdej minucie dnia, a następnie, na przykład, mój etxt musi wyjść na 9:15, więc nie może dostać się tam dość szybko, bo on jest jeszcze w trakcie pierwszej kontroli cronjob. To moje przypuszczenie, ale nie jestem pewien na 100% i nie mogę zrozumieć dlaczego. Czy ktoś może pomóc?