Я разрабатываю приложение Rails, которое дает данные о ценах на различные продукты, соскабливая цены со сторонних сайтов (аналогично http://railscasts.com/episodes/190-screen-scraping-with-nokogiri).Периодические фоновые задания на Rails & Heroku
Поскольку я новичок в программировании, сейчас я вручную делаю это, поставив свой код в граблированную задачу. Задачи проходят через все продукты в моей базе данных и обновляют их цену скремблированием. Это займет несколько часов (так как есть 1000 продуктов), но большую часть времени тратит от звонка сон, поэтому я могу оценить лимит самостоятельно. Прямо сейчас я вызываю задачу rake вручную из командной строки, но я бы хотел иметь недельное периодическое задание, которое автоматически запускается в фоновом режиме.
После небольшого исследования, похоже, есть несколько способов сделать это (Resque, DelayedJob, Cron/Whenever), но я не уверен, что лучше всего соответствовало моей потребности. Кроме того, я развертываю через Heroku, поэтому я хочу убедиться, что я не трачу деньги на рабочих динозавров; прямо сейчас это просто побочный проект, поэтому я не хочу тратить столько.
Что было бы простым и экономичным способом сделать это?
Ничего себе, теперь, когда я смотрю на этот ответ, мне действительно нужны списки: D – Ashitaka
Если я не могу сломать свои задания на более мелкие куски, любые предложения о том, что я должен делать? – slykat
Что вы пробовали? Вы очищаете только страницы, которые вы определили? Если да, то вы можете поместить их внутри массива и иметь функцию, которая в зависимости от дня недели начинается с определенного индекса и заканчивается другим индексом массива. Если вы очищаете тонну страниц, которые вы не определили, вы можете установить жесткий предел. Например, 1000 продуктов в день. Таким образом, у вас должен быть счетчик, и когда он достигнет 1000, вы сохраните URL-адрес или идентификатор следующей страницы, которую хотите отменить, и продолжите на следующий день, когда вы остановились. – Ashitaka