Ruby on Rails ежедневно заполняет базу данных очищенными данными - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь настроить процесс, который будет очищать веб-данные от набора веб-сайтов по заданному расписанию (возможно, ежемесячно, ежедневно ... и т. Д.). Я хочу, чтобы затем заполнить таблицы базы данных. Каков был бы лучший способ сделать это? Было бы лучше создать сценарий ruby ​​вне rails, а затем использовать задачу cron по моему собственному расписанию для заполнения базы данных? Или есть способ, которым я могу сделать это в рамках рельсов?

1 Ответ

4 голосов
/ 20 июня 2019

Шаг 1: создание рейк-задачи

т.е.: lib/tasks/scrapping.rake

namespace :scrapping do
  desc "Fetches new data from websites"
  task scrap_websites: :environment do
    # Call your scrapping classes/jobs/whatever code here
  end
end

Шаг 2: Создание задачи CRON, вызывающей задачу рейка

Вы можете использовать драгоценный камень как всякий раз, когда для этого: https://github.com/javan/whenever

Например, ваш config/schedule.rb может выглядеть так:

every 1.day, at: '4:00am' do
  rake 'scrapping:scrap_websites'
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...