Actualmente estoy trabajando en un proyecto que usa Django 1.3 con la aplicación Django-Apio. Es bastante sorprendente, por cierto, sugiero que cualquiera que no esté familiarizado con el apio lo vea.Django-Apio: ¿volver a enviar tareas desde la página de administración?
Tengo una pregunta específica en torno a la funcionalidad de la página de administración:
Estamos utilizando tareas de apio para hacer llamadas a la API REST a terceros asociados. En realidad, estas llamadas son iniciadas por una acción del usuario, por lo que podría ver cómo una tarea de apio sería extremadamente útil en este caso.
Tenemos una historia de usuario sobre cómo un administrador debería poder volver a enviar una devolución de llamada si falla por alguna razón. Ahora, si la devolución de llamada falla con una falla de respuesta HTTP estándar, estamos usando el mecanismo de reintento de apio para reenviarlos automáticamente en varios intervalos. Sin embargo, estas devoluciones de llamadas podrían ser a uno de miles de socios (sí, hay mucho), y no todos usarán un código de Respuesta HTTP estándar como respuesta de falla.
En resumen, no he podido encontrar nada en línea que indique que uno puede volver a enviar una tarea de apio a través de la interfaz de administración. Esperaba que alguien pudiera arrojar algo de luz sobre esto. Parece una funcionalidad bastante obvia, y si no existe tal funcionalidad, estoy seguro de que hay una buena razón para ello. Me encantaría si no hay una manera de hacerlo, si alguien podría explicar la razón. Solo curiosidad por saber más sobre el funcionamiento interno del apio.
¡Gracias a todos! Perdón por mi palabrería, a veces tiendo a divagar.
BTW - en una nota lateral, si no hay una manera de volver a enviar tareas, implementaré una yo mismo en el administrador. Para hacerlo, necesito almacenar los argumentos archivados en el DB. ¿Alguien sabe si hay una forma en python de obtener una tupla de los argumentos pasados además de crearla manualmente? Esto es algo de lo que tengo curiosidad. Lo siento, sé que estoy rompiendo la regla de dos preguntas en una publicación ... pero técnicamente es un comentario, así que pensé que estaría a salvo, jeje. – jnadro52
Para la pregunta arg, crea una función como 'def myFunc (* args)' cualquier argumento pasado estará en la tupla 'args'. – aid
Veo, así que si agrego * args al método, todos los argumentos pasados estarán en la lista args. Estaba familiarizado con esta característica, pero no sabía que funcionaba de esa manera, con argumentos definidos que no son palabras clave. ¡Gracias por tu ayuda! – jnadro52