Skip to content

Commit

Permalink
(Fix) Separar por bloques envio de notificaciones (#1963)
Browse files Browse the repository at this point in the history
  • Loading branch information
JuanIRamirez authored Sep 20, 2024
1 parent d7eff7a commit fbf8682
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions jobs/recordatorioTurnos.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,19 @@ async function recorrerAgendas() {
};

const agendasMañana: any[] = await Agenda.find(match);
let n = 0;
for (let i = 0; i < agendasMañana.length; i++) {
const agenda = agendasMañana[i];
for (let j = 0; j < agenda.bloques.length; j++) {
const bloque = agenda.bloques[j];
for (let k = 0; k < bloque.turnos.length; k++) {
const turno = bloque.turnos[k];
if (turno.estado === 'asignado' && turno.paciente) {
n++;
if (n > 50) {
await new Promise(resolve => setTimeout(resolve, 10000));
n = 0;
}
await recordarTurno(agenda, turno);
}
}
Expand All @@ -47,7 +53,7 @@ async function recorrerAgendas() {

async function recordarTurno(agenda, turno) {
try {
if (turno?._id || turno.id) {
if (turno?._id || turno?.id) {
const fechaMayor = moment(turno.horaInicio).toDate() > moment().toDate();
const idTurno = turno._id || turno.id;
const datoAgenda = dataAgenda(agenda, idTurno);
Expand All @@ -65,10 +71,10 @@ async function recordarTurno(agenda, turno) {
await send('notificaciones:enviar', dtoMensaje);
}
} else {
notificacionesLog.error('obteneIdTurno', { turno }, { error: 'No se encontró el turno' }, userScheduler);
notificacionesLog.error('recordarTurno:noExisteTurno', { turno }, { error: 'No se encontró el turno' }, userScheduler);
}
} catch (unError) {
notificacionesLog.error('obtenerAgenda', { turno }, unError, userScheduler);
notificacionesLog.error('recordarTurno', { turno }, unError, userScheduler);
}
};

Expand Down

0 comments on commit fbf8682

Please sign in to comment.