Features del panel de administrador

Configuración del rq-scheduler

Para asegurar la funcionalidad correcta de la indexación, es necesario agregar varios Repeatable Job desde el admin de Django. A continuación se muestra una configuración ejemplo. Se recomienda setear la queue a indexing.

scheduler

Configurar las siguientes tareas:

  • series_tiempo_ar_api.libs.indexing.tasks.scheduler (cada 5 minutos)
  • series_tiempo_ar_api.apps.management.tasks.schedule_api_indexing (1 vez por día, programada para correr despues de schedule_new_read_datajson_task)
  • django_datajsonar.tasks.schedule_new_read_datajson_task (1 vez por día)
  • django_datajsonar.tasks.close_read_datajson_task (cada 5 minutos)

La vista de tareas programadas debería parecerse al siguiente ejemplo. Notar que api indexing está programada a las 3 am, y django_datajsonar indexing está a las 12 am, tres horas antes.

repeatable_jobs

Replanificación de tareas

En el caso de querer reconfigurar las tareas, la manera más segura de hacerlo es realizando los siguientes pasos. No se recomienda editar directamente la tarea.

  • En la vista de Repeatable Jobs, ubicar el Job ID de la tarea a reprogramar (ver screenshots anteriores), y ubicarla en la vista de finished jobs de django-rq, en la URL /series/django-rq/. En este ejemplo, si queremos editar el job de "datajson ar indexing", que está bajo la cola default, debemos ver el detalle de la cola haciendo click en el número 9 de finished jobs. Allí deberíamos poder ver el job referenciado, 1425c8c4-35d6-4d0c-b716-b3496f64f1d2.

repeatable_jobs

repeatable_jobs

Borrar esta tarea, utilizando el menú de Actions provisto en la vista de finished jobs, No el Empty Queue.

  • Volver a la vista de Repeatable Jobs, y borrar la tarea que se queire editar.
  • Crear la tarea nuevamente con los nuevos parámetros deseados. El Job ID de la nueva tarea debería ser distinto a la anterior.

Indexación manual de metadatos

Creando nuevos modelos IndexMetadataTask se lanzarán procesos asincrónicos para indexar metadatos de los nodos registrados al cluster de Elasticsearch. Un nuevo proceso de indexación no puede ser lanzado mientras haya algún otro ejecutándose. Se puede seguir el estado de la tarea corriendo a través de los campos del modelo.