簡體   English   中英

每分鍾運行一次函數並發送消息

[英]Running function every minute and sending message

我有這個功能:

    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)

它應該做的是每 1 分鍾運行一次 cronjob,它從我的clients表中獲取所有結果。 然后我遍歷每個結果,如果它是當前時間並且它計算數據庫中的時間,那么它發送消息。 但是,它在一天中的每一分鍾運行第一個 cronjob,然后假設我的 etxt 應該在 9:15 到達我們的位置,然后它無法足夠快地到達那里,因為它仍在經歷第一個 cronjob 迭代. 這是我的猜測,但我不是 100% 確定,我不知道為什么。 有人可以幫忙嗎?

通過這樣做想通了:

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

它的作用是每45 seconds運行一次 cronjob,然后在指定的時間發送短信。 工作完美,到目前為止......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM