Helpers

Queue Manager

Общее Простой менеджер очереди для редис который умеет ставить в очередь по уникальным параметрам запроса. Параметры size - размер очереди unique_keys - список путей до уникальных ключей в параметрах (формата ‘method_params.account_id’) wait_time - максимальное время ожидание постановки задачи в очередь (по умолчанию 5 секунд) Примеры Пример 1 Использование в коде @redis_queue(5, ['refresh_token']) def google_analytics_nc(META: MetaApp, version, refresh_token, method, method_params, data_format=None, http_response=None): Пример 2 Использование в коде с другим временем ожидания

Save Call

Общее Этот скрипт содержит в себе декоратор для сохранения результата работы любой функции в базу. Оборачивает любую функцию, и принимает параметры “request_id”, “uniq”, “file_type”. Принцип работы: Генерирует unique_id по имени функции и переданным в нее параметрам. Делает SELECT из таблицы adplatform.api.request_log по request_id и проверяет наличие там unique_id. Если есть десерелизует уже записанный результат и возвращает его. Если нет, то выполняет функцию, серелизует результат её работы и записывает в базу вместе с параметрами с которыми она была вызвана.