Skip to content
Snippets Groups Projects
Commit 32d94dab authored by Wo-ogie's avatar Wo-ogie
Browse files

feat: 서버 구동 시 아직 종료되지 않은 약속들을 scheduler에 등록하여 종료될 수 있도록 설정하는 로직 추가

parent 73c06f81
Branches
No related tags found
No related merge requests found
...@@ -13,7 +13,10 @@ const participantRouter = require('./routes/participant'); ...@@ -13,7 +13,10 @@ const participantRouter = require('./routes/participant');
const myScheduleRouter = require('./routes/mySchedule'); const myScheduleRouter = require('./routes/mySchedule');
const { sequelize } = require('./models'); const { sequelize } = require('./models');
const checkMeetings = require('./schedules/checkMeetings');
const app = express(); const app = express();
checkMeetings();
app.set('port', process.env.PORT || 3000); app.set('port', process.env.PORT || 3000);
sequelize sequelize
......
const { scheduleJob } = require('node-schedule');
const { Op } = require('sequelize');
const { Meeting } = require('../models');
const { closeMeetingById } = require('../services/meeting');
module.exports = async () => {
console.log(
'Check meeting... 종료되지 않은 미팅을 찾아 스케줄러에 등록합니다.',
);
try {
const meetings = await Meeting.findAll({
where: {
voteExpiresAt: {
[Op.ne]: null,
},
isClosed: false,
},
});
console.log('meetings', meetings);
meetings.forEach((meeting) => {
scheduleJob(meeting.voteExpiresAt, async () => {
await closeMeetingById(meeting.id);
});
});
} catch (error) {
console.log(
'Scheduler에 등록할 meeting을 확인하던 중 에러가 발생했습니다.',
error,
);
}
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment