Курс Python → Управление асинхронными задачами на Python.

Библиотека Celery — это инструмент для управления асинхронными задачами в приложениях на Python. Она позволяет отделить выполнение задач от основного приложения, что повышает производительность и масштабируемость проекта. Celery используется для выполнения длительных операций, которые могут занимать много времени, таких как отправка email, обработка изображений, обновление базы данных и другие.

Основными компонентами Celery являются задачи (tasks), брокер сообщений (message broker) и воркеры (workers). Задачи представляют собой функции или методы, которые необходимо выполнить асинхронно. Брокер сообщений используется для передачи задач между приложениями, а воркеры отвечают за выполнение самих задач.

Часто Celery используется в связке с фреймворком Django для обработки фоновых задач. Например, при создании веб-приложения на Django, можно использовать Celery для отправки уведомлений пользователям или генерации отчетов в фоновом режиме, не блокируя основной поток выполнения приложения.


from celery import Celery

app = Celery('tasks', broker='amqp://guest@localhost//')

@app.task
def add(x, y):
    return x + y

В данном примере создается Celery приложение с именем ‘tasks’ и адресом брокера сообщений ‘amqp://guest@localhost//’. Затем определяется задача add, которая складывает два числа и возвращает результат. После определения задачи, ее можно вызывать из других частей приложения для выполнения в фоновом режиме.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Распаковка значений в Python
  2. Создание .exe файла с pyinstaller
  3. Конкатенация списков в Python
  4. Очистка вывода в Python
  5. Сортировка данных в Python
  6. Преобразование чисел в слова
  7. Декораторы в Python
  8. Создание словарей в Python
  9. Тип данных TypeVarTuple
  10. Блок else в циклах.
  11. Оператор морж в Python 3.8
  12. Функции-генераторы в Python
  13. Удаление элемента по индексу
  14. Работа с модулем Calendar
  15. Создание словаря в Python
  16. Numpy: использование Ellipsis
  17. Python: динамическая типизация и проверка типов
  18. Добавление элементов в список
  19. Метод rmatmul для обратного матричного умножения
  20. Форматирование строк в Python
  21. Создание namedtuple из словаря
  22. Методы __repr__ и __str__ в Python
  23. Расчет времени выполнения
  24. Использование функции enumerate()
  25. Работа с часовыми поясами в Python.
  26. Поиск наиболее частого элемента
  27. Участие в сообществе @selectel
  28. Улучшение читаемости кода в Python
  29. Списки: объединение, изменение
  30. Обучение модели с указанием эпох
  31. Форматирование строк с помощью f-строк
  32. Основы Python
  33. CLI-инструмент howdoi
  34. Поиск кода
  35. Работа с контекстными переменными
  36. Тестирование времени с Freezegun
  37. Объединение списков с использованием itertools.chain
  38. Метод __iand__ для пользовательских классов
  39. Освобождение памяти в Python
  40. Создание словарей и множеств в Python
  41. Метод __irshift__ для побитового сдвига вправо
  42. Enum в Python
  43. Возврат нескольких значений
  44. Резервирование символов в Python
  45. Метод pos в Python
  46. Множественное наследование в Python
  47. Склеивание строк без циклов
  48. Логирование с Logzero: ротация файла

Marketello читают маркетологи из крутых компаний