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
})
});
}
この問題も発生しています。あなたが解決策を見つけたのか不思議です。 – mdeang2