Pregunta

Digamos que un cliente está contento con el trabajo que ha realizado al crear un script para realizar una tarea que reúne información y genera un archivo de base de datos considerable. Luego, están interesados ??en que la tarea se ejecute periódicamente (aproximadamente mensualmente) sin intervención humana. El cliente no está interesado en ejecutar la tarea localmente, por lo que se ve obligado a buscar otro lugar para hacerlo, en algún lugar, tan tonto como suena, "en la nube".

¿Qué técnicas / servicios usarías para lograr esto a bajo costo?

Cosas que he explorado hasta ahora:

  • Amazon EC2 . Parece una buena idea, pero no hay una manera obvia de detener y reiniciar las instancias en un horario. Pagar > $ 70 / mes para mantener una instancia ejecutando cron pero no hacer nada útil parece un desperdicio.
  • Muerde la bala y paga por un Servidor Privado Virtual (VPS). Sin embargo, incluso pagar $ 20 / mes ( Slicehost , por ejemplo) parece excesivo si la tarea es solo va a estar funcionando unas pocas horas cada mes.
  • Una cuenta de alojamiento compartido y WebCron . Parece un poco MacGyverish y posiblemente viola los ToS de muchos servicios de alojamiento compartido, que a menudo no son amables para las tareas de larga duración.

¿Tiene experiencia con estas u otras opciones?

¿Fue útil?

Solución

Usaría Amazon EC2. Simplemente inicie una instancia, copie el script en la instancia, agréguelo a la rutina de inicio y agregue un apagado al final del script. Agrúpelo en su propia imagen y cierre la instancia. Ahora puede activar su propia imagen mensualmente y ejecutará el script y se apagará. Solo pagará 10 ¢ / hora con una instancia m1.small.

Solo necesita que alguien inicie manualmente la instancia mensualmente o haga que su cliente instale un pequeño cronjob mensual para iniciar la instancia.

Nota: se requiere el apagado -h, de lo contrario la instancia se reiniciará en lugar de detenerse

Otros consejos

Mordería la bala y obtendría un VPS, después de 6 meses seguramente descubrirá que le ha dado muchos más usos.

Utilizo un servicio de alojamiento compartido que permite esto, y lo uso para una sincronización nocturna.

Ejecutar la tarea en sí en EC2 en realidad suena muy relevante, pero ejecutar el cron en EC2 es realmente un desperdicio.

No se me ocurre cómo ejecutar el cron en una máquina que no es tuya.

Puedes usar http://guardiano.pm y con eso creas un trabajo y llamas a tu API cuando desear. Guradiano llamará a su / api / dothat y la aplicación ejecutará alguna tarea. Un wat para asegurar es enviar algún parámetro con la solicitud y solo si se envía el parámetro correcto, ejecutará la acción.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top