Как я могу назвать действие контроллера от задачи граблей?

У меня есть действие контроллера, которое генерирует много отчетов Excel, это занимает приблизительно 10 минут, чтобы сделать. Иногда я называю его от своего веб-приложения, которое является, почему это - действие.

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

Какой-либо способ сделать это?

7
задан Janak 24 March 2010 в 10:34
поделиться

2 ответа

Я думаю, вам придется перенести свой код в свою модель. Поскольку плохо вкладывать знания о рендеринге вывода в модели, я бы предложил поместить всю бизнес-логику и манипуляции с данными в модель, но затем поместить код рендеринга в вашу задачу rake. Это сделало бы задачу рейка аналогичной контроллеру, используемому в сети, - поддерживая разделение задач.

Вы можете посмотреть ActionView :: Base и поработать оттуда, чтобы выяснить, как запускать рендеринг шаблонов.

3
ответ дан 7 December 2019 в 09:59
поделиться

Можете ли вы управлять генерацией отчетов из ваших моделей? Модели в любом случае должны выполнять большую часть работы, и к ним можно получить доступ из задач Rake:

task :reports => :environment do
  ...
  # Do stuff with your models.
end
3
ответ дан 7 December 2019 в 09:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: