Este articulo es el ultimo de una serie que explica como obtener notificaciones en un dispositivo iOS de los tweets mas relevantes para el usuario. Mas informacion en este link.

En esta ocasion vamos a crear un trabajo en Heroku, que se ejecute cada determinado tiempo y ejecute el script que busca y notifica de los tweets a los usuarios.

Requisitos

Es necesario tener una cuenta en Heroku, con una aplicacion subida.

En nuestro tutorial vamos a continuar con la ultima parte del proyecto SimpleRTApp.

¿Que es Heroku Scheduler?

Heroku Scheduler es un plugin para una aplicacion de Heroku. Simplemente nos permite definir un comando a ser ejecutado en un determinado intervalo de tiempo. Este puede ser diario, por hora, o cada 10 minutos.

Configuracion

Para poder agregar Heroku Scheduler a nuestra app tendremos que ir a nuestro dashboard en Heroku. Vamos a Resources y en la parte de Add-ons buscamos “Heroku Scheduler”:

Es posible que se nos indique validar nuestra cuenta ingresando nuestra tarjeta de credito. En caso de que lo pida, no se nos cobrara ningun cargo, a menos que elijamos algun plan de servicios pago.

Una vez agregado el plugin, entramos a su configuracion. En nuestro caso, queremos queremos que ejecute el comando node send_tweets.js cada una hora. Para ello, agregamos un nuevo job:

Completamos los datos y le damos click a Save. Se nos dira cuando sera la proxima vez que el job va a ser ejecutado en el campo NEXT DUE:

¡Listo! Solo nos queda esperar a que sea la hora que indica la pagina.

Asi como con los dynos, tenemos la posibildad de ver los logs para los jobs. Para ello vamos a View logs, en el menu de More, a la izquierda en el dashboard de Heroku.

Podemos ver el resultado del cron en la siguiente imagen:

Conclusiones

Vimos como crear un cron en Heroku, simplemente con la ayuda del plugin de Heroku Scheduler. Simplemente se nos preguntara por que comando se va a ejecutar y la frecuencia del mismo.

Con esto termina la serie de tutoriales, con un sistema que comprende desde el desarrollo de la app en iOS, el desarrollo del backend, configuracion de la base de datos y la configuracion del Cloud Service, en este caso Heroku.

¡Muchas gracias por leer los articulos!

Fuentes

Este artículo tambien esta disponible para ver en Medium