Архив метки: Celery

Celery, начало работы

Данное сообщение является одним из многих, которые будут написаны в процессе изучения Celery.

Celery — «distributed task queue». Это распределенная асинхронная очередь заданий, которая обладает широким функционалом.

Celery умеет:

  • Выполнять задания асинхронно или синхронно
  • Выполнять периодические задания(умная замена crond)
  • Выполнять отложенные задания
  • Распределенное выполнение (может быть запущен на N серверах)
  • В пределах одного worker'а возможно конкурентное выполнение нескольких задач(одновременно)
  • Выполнять задание повторно, если вылез exception
  • Ограничивать количество заданий в единицу времени(rate limit, для задания или глобально)
  • Routing заданий(какому worker'у что делать)
  • Несложно мониторить выполнение заданий
  • Выполнять подзадания
  • Присылать отчеты об exception'ах на email
  • Проверять выполнилось ли задание(удобно для построения Ajax приложений, где юзер ждет факта завершения)

Для использования нужно

 >>> from celery import Celery
>>> celery = Celery()
>>> celery

 В последней строке показано имя класса Celery, имя текущего основного модуля (__main__) и адреса памяти объекта (0x100469fd0).

Всякий раз при добавлении задания, задание добавляется в локальный реестр.

Варианты использования:

  • если задача оформлена как модуль, то запускается как программа,
  •  

Автор: D1VER
Дата публикации: 2013-08-29T01:18:00.000-07:00

Celery для веб-сервисов. Асинхронное распределенное выполнение задач

Докладчик: Роман Иманкулов, NetAngels
Инфраструктура HTTP не предполагает долгих раздумий веб-сервера. Когда необходимо выполнить тяжелую работу без ухудшенияuser experience и снижения надежности системы, возникает потребность в организации очередей команд. В докладе мы рассмотрим вариантыорганизации таких очередей подручными средствами, выясним, чем так хорош Celery, как его можно подключить к вашему проекту, и о чем нужнопомнить программистам и администраторам при его использовании. В заключении рассмотрим возможность выполнения произвольнойпоследовательности команд в бекграунде с использованием celery-tasktree.

Автор: D1VER
Дата публикации: 2013-08-26T02:37:00.002-07:00