Page 590 - Nodejs 교과서 개정2판
P. 590
});
});
res.redirect('/');
} catch (error) {
console.error(error);
next(error);
}
});
schedule ё scheduleJob ݫࢲ٘۽ ੌਸ ডೡ ࣻ णפ ߣ૩ ੋࣻ۽ प೯ؼ दпਸ ֍Ҋ ف ߣ
૩ ੋࣻ۽ ೧ दп غਸ ٸ ࣻ೯ೡ ߔ ೣࣻܳ ֍णפ ҃ݒ ݽ؛ীࢲ о ֫ оѺਵ۽ ੑೠ ࢎۈ
ਸ ই ࢚ಿ ݽ؛ բ ই٣ী ֍যب۾ ೮णפ ژೠ բ ࠁਬ ਸ բ Әঘ݅ఀ ࡕ
פ { 컬럼: sequelize.literal ஸۢ – 숫자) }о द௬ۄૉীࢲ ೧ ஸۢ ंܳ ח ߑߨੑפ
ंܳ טܻ۰ݶ – न +ܳ ೞݶ ؾפ
OPEF TDIFEVMF ಁః ױ झா݂ ֢٘ ӝ߈ਵ۽ زೞ۽ ֢٘о ઙܐغݶ झா ডب э
ઙܐػח ੑפ ֢٘ܳ ҅ࣘ ெفݶ غ݅ ࢲߡо যڃ ী۞۽ ੋ೧ ઙܐؼ ஏೞӝח ݒ য۵णפ
ٮۄࢲ ܳ ࠁ৮ೞӝ ਤೠ ߑߨ ਃפ ࢲߡо दؼ ٸ ҃ݒ द റ दр լ݅ բо
হח ҃ݒܳ ইࢲ բܳ ೞח ٘ܳ ୶о೧ࠁѷणפ
checkAuction.js
const { Op } = require('Sequelize');
const { Good, Auction, User, sequelize } = require('./models');
module.exports = async () => {
try {
const yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1); // 어제 시간
const targets = await Good.findAll({
where: {
SoldId: null,
createdAt: { [Op.lte]: yesterday },
},
});
targets.forEach(async (target) => {
const success = await Auction.findOne({
where: { GoodId: target.id },
order: [['bid', 'DESC']],
});
await Good.update({ SoldId: success.UserId }, { where: { id: target.id } });
await User.update({