Files
scheduler-app/index.js
teddys48 69fd98e4fb update
2025-10-08 16:36:07 +07:00

69 lines
1.4 KiB
JavaScript

const express = require("express");
const app = express();
const port = 3000;
const cron = require("node-cron");
const axios = require("axios");
const { exec } = require("child_process");
app.get("/", (req, res) => {
res.json("Scheduler App");
});
cron.schedule(
"0 9 * * *",
async () => {
const module = "Birthday Notification";
try {
let res = await axios.get("http://36.66.3.44:7010/birthday-notification");
console.log(module, "success", res.data);
} catch (error) {
console.error(module, "error", error.message);
}
},
{
timezone: "Asia/Jakarta",
}
);
cron.schedule(
"1 9 * * *",
async () => {
const module = "Workanniversary";
try {
let res = await axios.get(
"http://36.66.3.44:7010/workanniversary-notification"
);
console.log(module, "success", res.data);
} catch (error) {
console.error(module, "error", error.message);
}
},
{
timezone: "Asia/Jakarta",
}
);
cron.schedule("* * * * *", async () => {
exec("sh /home/script/script.sh", (error, stdout, stderr) => {
if (error) {
console.error(`Gagal menjalankan script: ${error.message}`);
return;
}
if (stderr) {
console.error(`Stderr: ${stderr}`);
return;
}
console.log(`Output: ${stdout}`);
});
});
app.use((req, res) => {
res.json("What are you looking for?!");
});
app.listen(port, () => {
console.log(`scheduler app listening on port ${port}`);
});