2017-12-22 11 views
0

私のCronジョブが約束を返す関数をうまく実行しているという奇妙な状況に陥っていますモデル上で.find()を実行しようとすると、決して実際には実行されません。私はこの同じ関数を別の場所で私のアプリで使用し、API呼び出しを介して呼び出され、何の問題も返されません。私は行方不明のものがありますか?ここでNodeJS cronジョブ - mongooseはcronタブで呼び出された関数を介してモデル上で.findを実行しません

var CronJob = require('node-cron'); 
var TradeService = require('../services/TradeService'); 

// Setup the cron job to fire every second 
CronJob.schedule('* * * * * *', function() { 
    console.log('You will see this message every second'); 
    TradeService.executePendingTrades(); 

}, null, true, 'America/Los_Angeles'); 

が呼び出される関連機能です:

exports.executePendingTrades =() => { 

    // Get all pending trades 
    exports.getPendingTrades().then(results => { 
    console.log('results', results); // This never fires 
    }) 
} 

exports.getPendingTrades =() => { 
    return new Promise((resolve, reject) => { 

    Trades.find({}) 
     .where('is_canceled').equals('false') 
     .where('is_completed').equals('false') 
     .sort('-created_at') 
     .exec((err, payload) => { 
     if (err) { 
      return reject(err); // This never fires 
     } 
     return resolve(payload); // This never fires 
     }) 
    }); 
} 
+0

この問題も発生しています。あなたが解決策を見つけたのか不思議です。 – mdeang2

答えて

0

これは、暗闇の中でのショットですが、データベース接続を開始していることを確認してくださいここで

は私のcronスクリプトですCRONの仕事でそうしないと、クエリを実行できなくなります。

関連する問題