Quiero invocar mi tarea de rake desde la consola. ¿Es factible? si es así, ¿cómo hacerlo?
Intenté esto en la consola:
require 'rake'
Rake::Task['my_task'].invoke
pero me da este error:
RuntimeError: Don't know how to build task
es como si el rastrillo no pudiera encontrar la tarea.
Cualquier ayuda sería apreciada.
Gracias
Editar: estoy usando rieles 2.3.5
.invoke
y.execute
, si necesita ejecutar la tarea varias veces (como un verificador de cordura de datos con una aplicación que tarda demasiado en iniciarse), entonces querrá.execute
la tarea..invoke(arg1, arg2,...)
La forma más sencilla de hacerlo es ejecutar% x [ comando ] desde el irb. Sin embargo, no estoy seguro de lo que quieres lograr.
EDITAR: Recomiendo encarecidamente usar
.invoke
como dice Daniel en la respuesta aceptada.fuente
invoke
es mejor y más eficiente.La forma fácil es:
Rails.application.load_tasks Rake::Task['my_task'].invoke
fuente
Estoy usando
rails 5.x.x
, y necesitaba hacer el mismo formulariorails console
.He creado una tarea de rake aquí.
Aquí está el comando que funcionó para mí:
Carga
Rails.application.load_tasks
¡Trabajó para mi!
fuente
Solo tenga en cuenta que si está en la consola de rieles a través
rails c
, puede llamar / ejecutar el método de tarea de rake medianteirb(main):001:0> TaskClassName.new.my_task
fuente