[Документация Yandex Cloud](../../index.md) > [Yandex Message Queue](../index.md) > [Начало работы](index.md) > Примеры кода > Celery

# Пример использования Yandex Message Queue с Celery

[Celery](https://docs.celeryproject.org/en/stable/) — это очередь задач для языка программирования Python, которую можно использовать в работе с Message Queue.

## Установка {#install}

Установите Celery и необходимые зависимости:

```
pip install celery
pip install celery[sqs]
pip install boto3
pip install pycurl
```

Задайте переменные окружения:

```
export AWS_ACCESS_KEY_ID="<идентификатор_ключа_доступа>"
export AWS_SECRET_ACCESS_KEY="<секретный_ключ>"
export AWS_DEFAULT_REGION="kz1"
```

## Подготовка к работе {#prepare}

1. [Создайте сервисный аккаунт](../../iam/operations/sa/create.md).
1. [Назначьте роль сервисному аккаунту](../../iam/operations/sa/assign-role-for-sa.md).
1. [Создайте статический ключ доступа](../../iam/operations/authentication/manage-access-keys.md#create-access-key).

## Пример {#sample}

В этом примере:

1. Задача ставится в очередь.
1. Выполняются задачи, находящиеся в очереди.

Для запуска примера:

1. Скопируйте пример в файл с названием `mq_example.py`:

   ```python
   from celery import Celery
   import logging
   import boto3

   ENDPOINT = 'message-queue.ydb.yandexcloud.kz:443'

   broker='sqs://{}'.format(ENDPOINT)
   broker_transport_options = {
       'is_secure': True,
   }

   app = Celery('mq_example', broker=broker)
   app.conf.broker_transport_options = broker_transport_options

   @app.task
   def add(a, b):
       res = a + b
       app.log.get_default_logger().info('{} + {} = {}'.format(a, b, res))
       return res

   if __name__ == '__main__':
       add.delay(2, 3)
       print("Task scheduled, now run 'celery worker -A mq_example' to execute it")
   ```

1. Запустите обработчик задач следующей командой: 
   
   ```
   celery worker -A mq_example
   ```

1. Поставьте задачу в очередь задач следующей командой:
   
   ```
   python mq_example.py
   ```

По умолчанию Celery создаёт очередь Message Queue с названием `celery` в каталоге, которому принадлежит сервисный аккаунт.