forked from UKSOURCE/cms.hailearning.edu.vn
first commit
This commit is contained in:
76
trigger/cron.js
Normal file
76
trigger/cron.js
Normal file
@@ -0,0 +1,76 @@
|
||||
const mongoose = require('mongoose');
|
||||
const { exec } = require('child_process');
|
||||
const axios = require('axios');
|
||||
|
||||
const MONGODB_URI = 'mongodb://10.0.0.3:27017/cms_simsswiss?replicaSet=rs0';
|
||||
const TELEGRAM_TOKEN = '7780629683:AAFrbQtKtEZq-A-WZVUQgeWJXm9ilF9fNa8';
|
||||
const TELEGRAM_CHAT_ID = '-4625467548';
|
||||
|
||||
const actionSchema = new mongoose.Schema({
|
||||
updated: Number
|
||||
});
|
||||
//const Action = mongoose.model('Action', actionSchema);
|
||||
const Action = mongoose.model('Action', actionSchema, 'actions');
|
||||
|
||||
|
||||
async function sendTelegramMessage(message) {
|
||||
try {
|
||||
await axios.post(`https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendMessage`, {
|
||||
chat_id: TELEGRAM_CHAT_ID,
|
||||
text: message
|
||||
});
|
||||
} catch (err) {
|
||||
console.error('❌ Lỗi gửi Telegram:', err.message);
|
||||
}
|
||||
}
|
||||
|
||||
async function runTask() {
|
||||
try {
|
||||
await mongoose.connect(MONGODB_URI);
|
||||
const action = await Action.findOne();
|
||||
|
||||
if (action && action.updated === 1) {
|
||||
console.log('🚀 Phát hiện updated=1 → thực thi run.sh');
|
||||
|
||||
exec(
|
||||
'cd /secure_site_simss_admin/www/html/sis-app-backend.simsswiss.ch/public/simsswiss.ch && bash run.sh',
|
||||
async (err, stdout, stderr) => {
|
||||
if (err) {
|
||||
console.error('❌ Lỗi chạy run.sh:', err.message);
|
||||
await sendTelegramMessage(`❌ Lỗi chạy run.sh: ${err.message}`);
|
||||
await mongoose.disconnect();
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log(stdout);
|
||||
console.error(stderr);
|
||||
|
||||
try {
|
||||
const res = await Action.updateOne(
|
||||
{ _id: action._id },
|
||||
{ $set: { updated: 0 } }
|
||||
);
|
||||
console.log(`✅ Update result:`, res);
|
||||
await sendTelegramMessage('✅ Chạy run.sh thành công và đã reset updated=0');
|
||||
} catch (updateErr) {
|
||||
console.error('❌ Lỗi update:', updateErr.message);
|
||||
await sendTelegramMessage(`❌ Lỗi update: ${updateErr.message}`);
|
||||
}
|
||||
|
||||
await mongoose.disconnect();
|
||||
process.exit(0);
|
||||
}
|
||||
);
|
||||
} else {
|
||||
console.log('ℹ️ Không có updated=1 → bỏ qua');
|
||||
await mongoose.disconnect();
|
||||
process.exit(0);
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('❌ Lỗi:', err.message);
|
||||
await mongoose.disconnect();
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
runTask();
|
||||
Reference in New Issue
Block a user