Execută funcția fiecare minut și de a trimite mesajul

0

Problema

Am această funcție:

    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)

ceea ce trebuie să faceți este să rulați un cronjob la fiecare 1 minut, care devine toate rezultatele din clients masă. Apoi am bucla prin fiecare rezultat, și dacă este ora curentă și mathces momentul în baza de date, apoi se trimite mesajul. cu toate acestea, se execută prima cronjob la fiecare minut din zi, și apoi să-mi spun etxt ar trebui să meargă pe la 9:15, atunci nu poate ajunge acolo destul de repede, pentru că este încă trece prin prima cronjob itteration. Asta e parerea mea, dar nu sunt 100% sigur și nu-mi dau seama de ce. Ma poate ajuta cineva?

cron javascript node.js twilio
2021-10-29 14:05:04
1

Cel mai bun răspuns

0

Și-a dat seama de a face acest lucru:

var getTexts = new cronJob( '45 * * * * *', function(){

ceea ce face este de a rula cronjob fiecare 45 seconds, care apoi va trimite un mesaj text la momentul desemnat. funcționează perfect, atât de departe ...

2021-10-29 14:39:27

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................