Я сделал это, поместив соответствующую функцию в файл в lib (скажем, lib / tasks_n_stuff.rb):
module TasksNStuff
def self.do_something
# ...doing something...
end
end
Тогда я могу вызвать if из задачи Rake:
desc 'Make sure we depend on :environment, so we can get to the Railsy stuff...'
task :do_something => :environment do
TasksNStuff.do_something
end
Или из контроллера (или из любого места, на самом деле):
class WhateverController < ApplicationController
def do_something
TasksNStuff.do_something
end
end
И поскольку вы можете запустить задачу rake как задание cron (cd /my/rails/root; rake do_something
), это должно быть все, что вам нужнонеобходимость.Ура!