diff --git a/package-lock.json b/package-lock.json index f9c2fbba..303f4cbe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "express": "^4.18.2", "fast-jwt": "^3.3.2", "mysql2": "^3.9.1", + "node-cron": "^3.0.3", "promise.any": "^2.0.6", "reflect-metadata": "^0.2.1", "swagger-ui-express": "^5.0.0", @@ -26,6 +27,7 @@ "@types/cors": "^2.8.17", "@types/express": "^4.17.21", "@types/node": "^20.11.5", + "@types/node-cron": "^3.0.11", "@types/swagger-ui-express": "^4.1.6", "nodemon": "^3.0.3", "prettier": "^3.2.2", @@ -273,6 +275,12 @@ "undici-types": "~5.26.4" } }, + "node_modules/@types/node-cron": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/node-cron/-/node-cron-3.0.11.tgz", + "integrity": "sha512-0ikrnug3/IyneSHqCBeslAhlK2aBfYek1fGo4bP4QnZPmiqSGRK+Oy7ZMisLWkesffJvQ1cqAcBnJC+8+nxIAg==", + "dev": true + }, "node_modules/@types/qs": { "version": "6.9.11", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", @@ -2720,6 +2728,25 @@ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, + "node_modules/node-cron": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/node-cron/-/node-cron-3.0.3.tgz", + "integrity": "sha512-dOal67//nohNgYWb+nWmg5dkFdIwDm8EpeGYMekPMrngV3637lqnX0lbUcCtgibHTz6SEz7DAIjKvKDFYCnO1A==", + "dependencies": { + "uuid": "8.3.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/node-cron/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/nodemon": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.3.tgz", diff --git a/package.json b/package.json index 9caeafe0..f5a82409 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "@types/cors": "^2.8.17", "@types/express": "^4.17.21", "@types/node": "^20.11.5", + "@types/node-cron": "^3.0.11", "@types/swagger-ui-express": "^4.1.6", "nodemon": "^3.0.3", "prettier": "^3.2.2", @@ -32,6 +33,7 @@ "express": "^4.18.2", "fast-jwt": "^3.3.2", "mysql2": "^3.9.1", + "node-cron": "^3.0.3", "promise.any": "^2.0.6", "reflect-metadata": "^0.2.1", "swagger-ui-express": "^5.0.0", diff --git a/src/app.ts b/src/app.ts index 05bb7fd5..16f0ae21 100644 --- a/src/app.ts +++ b/src/app.ts @@ -4,10 +4,12 @@ import cors from "cors"; import express from "express"; import swaggerUi from "swagger-ui-express"; import swaggerDocument from "./swagger.json"; +import * as cron from 'node-cron'; import error from "./middlewares/error"; import { AppDataSource } from "./database/data-source"; import { RegisterRoutes } from "./routes"; + async function main() { await AppDataSource.initialize(); @@ -28,6 +30,10 @@ async function main() { app.use(error); const APP_HOST = process.env.APP_HOST || "0.0.0.0"; const APP_PORT = +(process.env.APP_PORT || 3000); + + // cron.schedule('*/10 * * * * *', () => { + // console.log("cron job....") + // }); // app.listen(APP_PORT, APP_HOST, () => console.log(`Listening on: http://localhost:${APP_PORT}`)); app.listen(