Cada vez que Ruby Scheduler no funciona, ¿qué me estoy perdiendo?

No puedo hacer que funcione …

En mi config / schedule.rb tengo:

set :output, '../log/development.log' every 5.minutes do runner "UserWatchedRepo.update" end 

Tenga en cuenta el registro establecido, pero no pasa nada. En mi aplicación de modelo de Rails 3.0.10 / models / user_watched_repo.rb obtengo:

 class UserWatchedRepo include Mongoid::Document def update conn = FaradayStack.build 'https://api.github.com' User.all.map do |user| nickname = user.nickname resp = conn.get "/users/#{nickname}/watched" resp.body.each do |repo| user.watchlists.build( html_url: "#{repo['html_url']}", description: "#{repo['description']}", fork_: "#{repo['fork']}", forks: "#{repo['forks']}", watchers: "#{repo['watchers']}", created_at: "#{repo['created_at']}", pushed_at: "#{repo['pushed_at']}", avatar_url: "#{repo['owner']['avatar_url']}" ) end user.save! end end end 

Alguna idea ?

Gracias luca

¿Ejecutó el comando whenever en su consola?

Su código en realidad no crea un cronjob, solo proporciona los datos de entrada para la gem cada vez que se debe convertir en un cronjob real.

Para hacer esto, debes ingresar a tu directorio raíz de aplicaciones y ejecutar el siguiente comando:

 whenever --update-crontab YOUR_APP_NAME 

Por lo que sé, YOUR_APP_NAME no tiene que ser el nombre real de tu aplicación, solo tiene que ser un identificador único. Sin embargo, considero que es una buena práctica usar tu nombre de aplicación para evitar confusiones.

    Intereting Posts