El trabajo que hago a menudo implica implementar un lote de trabajos en una máquina y luego marcharme.
Para minimizar la rotación, soy un gran admirador de Pushover para recibir notificaciones al finalizar. Pushover es fantástico porque es una llamada API de servicio web que se puede integrar fácilmente en varios idiomas y scripts .
Lo que estoy buscando es algo muy similar, que presentaría una barra de progreso accesible desde la web, que sería tan fácil de integrar como una biblioteca de barra de progreso de línea de comando normal. De esta manera, puedo evaluar mejor qué tan pronto terminará algo, si estoy lejos de mi máquina principal.
La idea sería: API Call crea un UID para una barra de progreso, con una cantidad esperada de actualizaciones. Luego, el cliente puede actualizar la cantidad de actualizaciones ejecutadas a través de otra llamada ( curl
o httplib
por ejemplo). La barra de progreso debe ser accesible como una simple página web.
Espero un servicio de terceros, ya que no puedo simplemente ejecutar apache en las máquinas, por lo general están protegidas por un firewall.
Nota : definitivamente preferiría un servicio, pero hipotéticamente podría estar abierto a algo que pueda alojar (¿nivel gratuito de AWS?).
Siempre que su lote sea un script Bash detrás del firewall, la forma ideal de hacerlo sería AWS API Manager.
Por ejemplo:
Por supuesto, puede crear fácilmente una interfaz web para su Lambda.
Otra opción para esta tarea es WebSockets en API Manager que permite la comunicación bidireccional sin servidor y es aún más simple porque no necesita una interfaz web y probablemente no necesite Lambda, API Manager puede enviar el progreso directamente a su Pushover y/ o dispositivo.
Otra posible opción es Step Function, mira este ejemplo que hace lo mismo que describiste.
Múltiples formas de implementar esto.