02 Jul, 2010

Заменим Cron на Clockwork

Адам Виггинс (Adam Wiggins) описывает интересное решение для выполнения задач (методов) приложения, которые должны исполняться периодически.

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

В результате получился проект Clockwork.

every 1.hour, 'apis.poll'
every 1.day,  'reports.email', :at => '00:00'

Задача будет передана в очередь. Да, очередь задач здесь обязательна, поскольку Clockwork никогда не выполняет задачи самостоятельно.

Clockwork может работать с любой очередью. Вот пример для Beantstalk+Stalker:

require 'stalker'
handler { |job| Stalker.enqueue(job) }

every 1.hour, 'apis.poll'
every 1.day,  'reports.email', :at => '00:00'

Ссылки и подробности:

— AlexSoulim (@ 09:01),   (3) /   (0)

Комментарии (3)

Все-таки связка whenever + Cron как-то понадежней выглядит.

— grossu, 02 Jul, 2010 @ 10:23

Совет: Если вы имеете аккаунт, авторизуйтесь чтобы заполнить это поле автоматически.

Для форматирования используйте Textile

FFEELLCCHEERS

Напишите слово, написаное выше БЕЛЫМ НА КРАСНОМ

RubyFlow.ru on Twitter

Twitter

Следуйте за нами — читайте ruby-новости на twitter.com

Работа для ruby-разработчиков

Последние комментарии

здесь у ваш ошибочка – все это возможно совсем не благодаря рубото, а благодаря android scripting, SL4J

— Превращаем телефон на базе Android в шпионскую камеру

А вот тут http://github.com/renemendoza/ruby_koans можно найти Ruby Koans с поддержкой автотестов и “раскрашенным” текстом заданий.

— Ruby Koans

Статья в духе КО.

— Make your own DSL... it's really easy!

Отличная новость

— Релиз кандидат Rails 3

Мне казалось, что “практики” в данном контексте как-то не по-русски звучит. Но статью переименовал :)

— Лучшие практики для Rails

Что это за проект?

На этом сайте публикуются новости о Ruby и всем, что с ним связано. Все материалы отбираются сообществом разработчиков.

Как он работает?

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

Совет: Если вы не авторизованы, то все ваши материалы и ссылки будут отмечены признаком “nofollow”, чтобы предотвратить спам. Вы также будете всегда видеть CAPTCHA-картинку!

Кто?

RubyFlow создал Peter Cooper из Ruby Inside, но, в конечном счете, это сайт сообщества разработчиков.

RubyFlow на других языках

© Alex Soulim, 2008—2010

Полное или частичное использование материалов возможно только с письменного разрешения.