96 lines
3.0 KiB
TypeScript
96 lines
3.0 KiB
TypeScript
|
|
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"
|
|
import { ObjeniousOperationsRepository } from "sim-shared/infrastructure/ObjeniousOperationRepository.js"
|
|
import { OrderRepository } from "sim-shared/infrastructure/OrderRepository.js"
|
|
import { TaskVolcadoLineas } from "./tasks/volcado_lineas.js"
|
|
import { ObjeniousLinesRepository } from "sim-shared/infrastructure/ObjeniousLinesRepository.js"
|
|
import { postgresClientIntranet } from "./config/intranetPostgresConfig.js"
|
|
import { PauseCancelTaskRepository } from "sim-consumidor-objenious/infrastructure/PauseCancelTaskRepository.js"
|
|
import { PauseTerminateTask } from "./tasks/check_pause_terminate.js"
|
|
import { SimUseCases } from "sim-consumidor-objenious/aplication/Sim.usecases.js"
|
|
|
|
async function startCron() {
|
|
const commonSettings = {
|
|
maxRandomDelay: 1000,
|
|
noOverlap: true
|
|
}
|
|
|
|
const httpClient = httpInstance
|
|
const pgClient = new PgClient({ pool: pgPool })
|
|
|
|
console.log("[i] Comprobando conexion con la BDD ")
|
|
await pgClient.checkDatabaseConnection()
|
|
|
|
const operationRepository = new ObjeniousOperationsRepository(
|
|
httpClient,
|
|
pgClient,
|
|
)
|
|
const orderRepository = new OrderRepository(pgClient)
|
|
const objeniousLineRepository = new ObjeniousLinesRepository(postgresClientIntranet)
|
|
|
|
const objTask = new CheckObjeniousRequests(
|
|
operationRepository,
|
|
orderRepository,
|
|
httpClient,
|
|
)
|
|
|
|
const objeniosRepo = new ObjeniousOperationsRepository(
|
|
httpClient,
|
|
pgClient
|
|
)
|
|
|
|
const volcadoLineasTask = new TaskVolcadoLineas(
|
|
objeniousLineRepository,
|
|
objeniosRepo
|
|
)
|
|
|
|
const pauseRepo = new PauseCancelTaskRepository(pgClient)
|
|
const simUsecases = new SimUseCases({
|
|
httpClient: httpClient,
|
|
operationRepository: operationRepository,
|
|
orderRepository: orderRepository,
|
|
pauseRepository: pauseRepo,
|
|
objeniousLinesRepository: objeniousLineRepository
|
|
})
|
|
|
|
const pauseTask = new PauseTerminateTask(
|
|
objeniosRepo,
|
|
pauseRepo,
|
|
simUsecases,
|
|
orderRepository
|
|
)
|
|
|
|
//await objTask.getPendingOperations()
|
|
const PERIODO_PETICIONES = 10 * 60 * 1000
|
|
const interval = setInterval(async () => {
|
|
try {
|
|
await objTask.getPendingOperations()
|
|
} catch (e) {
|
|
console.error("[x] Error de actualizacion de las lineas ")
|
|
}
|
|
}, PERIODO_PETICIONES)
|
|
|
|
const PERIODO_VOLCADO = 60 * 60 * 1000
|
|
//await volcadoLineasTask.loadLines()
|
|
const volcadoInterval = setInterval(async () => {
|
|
try {
|
|
await volcadoLineasTask.loadLines()
|
|
} catch (e) {
|
|
console.error("[x] Volcado de lineas de Objenious Fallido", e)
|
|
}
|
|
}, PERIODO_VOLCADO)
|
|
|
|
// await pauseTask.run()
|
|
const PERIODO_CANCELACIONES = 60 * 60 * 1000;
|
|
const clacelacionesInterval = setInterval(async () => {
|
|
await pauseTask.run()
|
|
}, PERIODO_CANCELACIONES)
|
|
|
|
|
|
}
|
|
|
|
startCron().then(e => console.log).catch(e => console.error)
|