L'exécution de la fonction de chaque minute et de l'envoi de message

0

La question

J'ai cette fonction:

    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)

ce qu'il est censé faire est d'exécuter une tâche cron toutes les 1 minutes, qui obtient tous les résultats de mon clients table. J'ai ensuite une boucle sur chaque résultat, et si elle est à l'heure actuelle et il mathces la fois dans la base de données, puis il envoie le message. cependant, il exécute la première tâche cron à chaque minute de la journée, et puis il faut dire que mon etxt est censé aller de notre à 9:15, alors il ne peut pas y arriver assez vite, parce qu'il est toujours en cours à travers la première tâche cron itteration. C'est mon avis, mais je ne suis pas sûr à 100% et je ne peux pas comprendre pourquoi. Quelqu'un peut-il aider?

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

La meilleure réponse

0

Compris en faisant ceci:

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

ce qu'il fait est d'exécuter la tâche cron chaque 45 seconds, qui sera ensuite envoyer le message texte à l'heure indiquée. fonctionne parfaitement, très loin ...

2021-10-29 14:39:27

Dans d'autres langues

Cette page est dans d'autres langues

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