Bueno, veamos... llevo unas horas intentando conseguir que desde cronjob se llamara a una función que tengo en un controlador. Después de bastantes pruebas y tal, lo he logrado. Os lo dejaré por aquí, que supongo que a más de uno le valdrá. Si no, pues se borra y ya ;)
Tenemos una función dentro de cuentas_controller.rb, esta se llama: alertas1 y envia emails via actionmailer a los usuarios que les va a expirar su cuenta, por ejemplo
tenemos: /home/usuario/rails/socios/app/controllers/cuentas_controller.rb
lo que debemos hacer es coger la función alertas1, y pegarla en un modelo, por ejemplo: cuentis.rb
El modelo contendrá:
Código:
class Cuentis < ActiveRecord::Base
def self.alertas1
Búsqueda de usuarios
OrderMailer.deliver_alertas1(configuración de email)
end
end
Lo rojo va de vuestra cuenta ;)
bien, ahora sólo hemos de guardar cuentis.rb en:
/home/usuario/rails/socios/app/models/cuentis.rb
y luego poner el cronjob:
* * * * * /home/usuario/rails/socios/script/runner 'Cuentis.alertas1'
-e development
o test o production, como queráis. Runner pone development por defecto.
Saludos.