LINUX.ORG.RU

[ruby][sinatra] Разыскивается шедулер.

 


0

1

Нужно выполнять в фоне различные задачи по таймеру. А-ля cron. Что посоветуете?

Понравилось решение `while true do ...` за счёт простоты, но выглядит оно ненадёжно. Не понравились Whenever и Rufus так как у меня они ни разу нормально не работали. Не понравились DJ и EM за счёт излишней тяжеловесности. Не понравилось Backgrounded за счёт ориентированности на модели. Однако все они умеют какие-то проверки коллизий и очереди, что хорошо.

Пока что думаю писать свой простенький шедулер с какой-никакой защитой от забивания очереди невыполнившимися задачами, но выглядит это не очень то и надёжным. С другой стороны, мне нужно гибкое решение, а чужие, как известно... этим никогда не отличаются :)


а cron то почему не устраивает? По вашему описанию, и крон должен подойти отлично. Я использую cron совместно с Django и кастомными manage.py командами

xsandrk
()
Ответ на: комментарий от xsandrk

Гм... нужно подключаться по ssh и возвращать данные приложению. А ещё оно часто может отваливаться.

Крон тут лишняя сущность: сложно будет писать обёртки и прочее, оверхед значительный и грохать зависшие задачи он не умеет.

daris
() автор топика
Ответ на: комментарий от daris

Понял, да действительно крон тут подойдёт слабо. Под python есть fabric, часть функционала из описанного он моет из коробки. Под Ruby подсказать аналог не могу

xsandrk
()
Ответ на: комментарий от xsandrk

Всё равно спасибо. Посмотрю как рабоатет фабрик, может пригодится при написании велосипеда :)

daris
() автор топика
Ответ на: комментарий от alpha2

Ты про «а-ля»? Поправь, если я криво написал :) Хотя лучше всё же по теме подскажи.

daris
() автор топика
Ответ на: комментарий от xpahos

Собственно, больше ни в чём) Тема решена через написание собственного обработчика задач.

daris
() автор топика

Не понравились Whenever и Rufus так как у меня они ни разу нормально не работали. Не понравились DJ и EM за счёт излишней тяжеловесности. Не понравилось Backgrounded за счёт ориентированности на модели. Однако все они умеют какие-то проверки коллизий и очереди, что хорошо.

Мне кажется, что Вы их всех как-то неправильно готовите. У rbates'a же рботает ;) Whenever, как минимум.

Alve ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.