Skip to content

Conversation

@rov-adhoc
Copy link
Contributor

No description provided.

Copilot AI review requested due to automatic review settings January 8, 2026 14:35
@roboadhoc
Copy link

Pull request status dashboard

@rov-adhoc rov-adhoc force-pushed the 18.0-h-103320-rov-5 branch from 93cc6d2 to 15b9725 Compare January 8, 2026 14:37
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Este PR implementa funcionalidad de reintento masivo para trabajos en segundo plano fallidos y mejora las vistas del módulo bg.job para facilitar la gestión de importaciones de extractos bancarios.

  • Añade el método action_retry_batch que permite reintentar múltiples trabajos fallidos a la vez
  • Agrega filtros específicos en la vista de búsqueda para trabajos de importación de extractos
  • Crea una acción y menú dedicados para acceder rápidamente a importaciones fallidas

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
account_statement_import_sheet_file_bg/__manifest__.py Incrementa la versión de 18.0.1.0.1 a 18.0.1.0.2 y referencia el nuevo archivo de vistas
account_statement_import_sheet_file_bg/models/__init__.py Importa el nuevo modelo bg_job
account_statement_import_sheet_file_bg/models/bg_job.py Implementa el método action_retry_batch para reintentar trabajos fallidos en lote
account_statement_import_sheet_file_bg/views/bg_job_views.xml Añade botón de reintento masivo, filtros específicos para trabajos de importación, y una acción/menú para trabajos fallidos

Comment on lines +11 to +40
def action_retry_batch(self):
"""
Action to retry multiple failed jobs at once
"""
failed_jobs = self.filtered(lambda j: j.state == "failed")
if not failed_jobs:
raise UserError(_("Please select only failed jobs to retry"))

other_jobs = self - failed_jobs
if other_jobs:
raise UserError(_("Some selected jobs are not in failed state and cannot be retried"))

failed_jobs.write(
{
"state": "enqueued",
"retry_count": 0,
"error_message": False,
}
)

return {
"type": "ir.actions.client",
"tag": "display_notification",
"params": {
"title": _("Jobs Requeued"),
"type": "success",
"message": _("%s job(s) have been requeued for retry") % len(failed_jobs),
"sticky": False,
},
}
Copy link

Copilot AI Jan 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

El método action_retry_batch no tiene cobertura de tests. Dado que el módulo base base_bg cuenta con tests automatizados (incluyendo tests para action_retry), sería recomendable agregar tests para este nuevo método que verifiquen:

  • El comportamiento con múltiples trabajos fallidos
  • El manejo de errores cuando se seleccionan trabajos en estados diferentes a "failed"
  • La actualización correcta de los campos state, retry_count y error_message
  • El retorno correcto de la notificación de éxito

Copilot uses AI. Check for mistakes.
"""
failed_jobs = self.filtered(lambda j: j.state == "failed")
if not failed_jobs:
raise UserError(_("Please select only failed jobs to retry"))
Copy link

Copilot AI Jan 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La validación funciona correctamente, pero el mensaje de error en la línea 17 podría ser más específico. Cuando no hay trabajos fallidos seleccionados, el mensaje actual "Please select only failed jobs to retry" podría interpretarse de múltiples formas.

Sugerencia: Hacer el mensaje más explícito:

  • Si no hay trabajos fallidos: "No failed jobs selected. Please select at least one failed job to retry"
  • O simplificar la lógica validando directamente que todos los trabajos estén fallidos, en cuyo caso un solo mensaje sería suficiente
Suggested change
raise UserError(_("Please select only failed jobs to retry"))
raise UserError(_("No failed jobs selected. Please select at least one failed job to retry"))

Copilot uses AI. Check for mistakes.
@jjscarafia jjscarafia changed the title [ADD] bg_job: Implement retry functionality for failed jobs and enhance views [WIP][ADD] bg_job: Implement retry functionality for failed jobs and enhance views Jan 13, 2026
@jjscarafia
Copy link
Member

De sumar esto vería:

  • con nico y joa
  • podría ser un argumento opcional de "permitir retry" a la hora de encolar?

Igual lo ideal es entender porque da timeout

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants