ruby-on-rails
  • scheduled-tasks
  • 2010-11-27 2 views 0 likes 
    0

    Я пытаюсь запустить грабли задачу внутри планировщика, как показано нижевызов задачи рейки внутри Руфус-планировщик

    scheduler = Rufus::Scheduler.new 
    scheduler.start 
    
    schedule.schedule(chron) do 
    puts "in scheduler" 
    begin 
    ENV['RAILS_ENV']='production' 
    Rake::Task['connection'].invoke 
    rescue Exception => e 
    puts "error" 
    end 
    

    задача рек выполняются только в первый раз. но планировщик, похоже, работает в заданном интервале.

    Любая помощь приветствуется.

    +0

    Какая версия Ruby? Пассажир, Тонкий, Монгрель? Что означает «похоже, что он работает»? Также найдите время, чтобы прочитать: http://www.chiark.greenend.org.uk/~sgtatham/bugs.html и http://www.catb.org/~esr/faqs/smart-questions.html. – jmettraux 2010-11-29 07:10:20

    ответ

    2

    Рейк - это процессор зависимостей. Он запускает задачу только один раз, если вы не сообщите об этом иначе. См. http://rake.rubyforge.org/classes/Rake/Task.html#M000115. Вам необходимо:

    def force_invoke(task) 
        task.reenable 
        task.invoke 
    end 
    
    Смежные вопросы