| 66 | |
| 67 | == Job Update == |
| 68 | |
| 69 | Un mensaje de tipo ''Job Update'' es enviado desde el servicio job executer de un cliente al servicio job receiver de un servidor opengnsys. El objetivo de este mensaje es mandar información actualizada referente a la ejecución de un comando desde el cliente al servidor. |
| 70 | |
| 71 | La petición debe ir a la url {{{/updatejob/normal/(?P<id>\d+)/(?P<status>[A-Z]+)}}}. El id es único y se refiere al id del trabajo (Job) que fue recibido por el cliente en un mensaje del tipo anterior (''Job Execution Request''), y status es el estado del trabajo. |
| 72 | |
| 73 | El contenido del mensaje se tratará como texto plano y se guardará tal cual en la base de datos del servidor, para que posteriormente sea procesador por la función de callback de dicho Job, si tuviera. |
| 74 | |
| 75 | Es una práctica común que dicho mensaje, que proviene de un comando ejecutado en el cliente (ya sea un comando nativo o de OGR) esté codificado en JSON, y que la función de callback lo procese como tal a partir del texto del mensaje en la BD, pero no es necesario. De hecho, lo normal es que sólo algunos comandos de OGR estén codificados en JSON, puesto que los comandos nativos de Linux no suelen devolver su salida en formato JSON. |
| 76 | |
| 77 | La cadena ''status'' puede ser: |
| 78 | * '''FINISHED''', que significa que el trabajo ha terminado correctamente. |
| 79 | * '''ERROR''', si la ejecución del comando dio algún tipo de error. |
| 80 | * '''INPROGRESS''', cuando se trata de un trabajo lento para indicar al servidor que sigue en ejecución. |
| 81 | |
| 82 | == Job Progress Update == |
| 83 | |
| 84 | Un mensaje de tipo ''Job Progress Update'' es enviado desde el servicio job executer de un cliente al servicio job receiver de un servidor opengnsys. El objetivo de este mensaje es mandar información actualizada referente al progreso de la ejecución de un comando desde el cliente al servidor. |
| 85 | |
| 86 | La petición debe ir a la url {{{/updatejob/progress/(?P<id>\d+)/(?P<progress>\d+)}}}. El id es único y se refiere al id del trabajo (Job) que fue recibido por el cliente en un mensaje del tipo anterior (''Job Execution Request''), y progress indica el porcentaje de finalización (un número de 0 a 100) del trabajo. |
| 87 | |
| 88 | El contenido del mensaje se tratará como texto plano, suele ser un corto texto de una línea y se guardará tal cual en la base de datos del servidor, para que posteriormente sea procesador por la función de callback de dicho Job, si tuviera. |