Files
sf-sim/packages/sim-objenious-cron/index.ts

71 lines
2.1 KiB
TypeScript
Raw Normal View History

import { pgPool } from "./config/postgreConfig.js"
import { PgClient } from "sim-shared/infrastructure/PgClient.js"
import { httpInstance } from "./config/httpClient.config.js"
import { CheckObjeniousRequests } from "./tasks/check_objenious_request.js"
2026-02-24 12:44:19 +01:00
import { ObjeniousOperationsRepository } from "sim-shared/infrastructure/ObjeniousOperationRepository.js"
2026-02-27 11:16:45 +01:00
import { OrderRepository } from "sim-shared/infrastructure/OrderRepository.js"
2026-03-26 09:29:09 +01:00
import { TaskVolcadoLineas } from "./tasks/volcado_lineas.js"
import { ObjeniousLinesRepository } from "./infranstructure/ObjeniousLinesRepository.js"
import { postgresClientIntranet } from "./config/intranetPostgresConfig.js"
async function startCron() {
const commonSettings = {
maxRandomDelay: 1000,
noOverlap: true
}
const httpClient = httpInstance
const pgClient = new PgClient({ pool: pgPool })
2026-03-26 09:29:09 +01:00
console.log("[i] Comprobando conexion con la BDD ")
await pgClient.checkDatabaseConnection()
2026-03-26 09:29:09 +01:00
const operationRepository = new ObjeniousOperationsRepository(
httpClient,
pgClient,
)
2026-02-27 11:16:45 +01:00
const orderRepository = new OrderRepository(pgClient)
2026-03-26 09:29:09 +01:00
const objeniousLineRepository = new ObjeniousLinesRepository(postgresClientIntranet)
const objTask = new CheckObjeniousRequests(
operationRepository,
2026-02-27 11:16:45 +01:00
orderRepository,
httpClient,
)
const objeniosRepo = new ObjeniousOperationsRepository(
httpClient,
pgClient
)
const volcadoLineasTask = new TaskVolcadoLineas(
objeniousLineRepository,
objeniosRepo
)
2026-02-27 11:16:45 +01:00
2026-03-27 12:47:10 +01:00
const PERIODO_PETICIONES = 10 * 60 * 1000
const interval = setInterval(async () => {
2026-03-26 09:29:09 +01:00
try {
await objTask.getPendingOperations()
} catch (e) {
console.error("[x] Error de actualizacion de las lineas ")
}
}, PERIODO_PETICIONES)
const PERIODO_VOLCADO = 60 * 60 * 1000
const volcadoInterval = setInterval(async () => {
try {
await volcadoLineasTask.loadLines()
} catch (e) {
console.error("[x] Volcado de lineas de Objenious Fallido", e)
}
}, PERIODO_VOLCADO)
await volcadoLineasTask.loadLines()
}
startCron().then(e => console.log).catch(e => console.error)