Файловый менеджер - Редактировать - /opt/imh-python/lib/python3.9/site-packages/celery/backends/__pycache__/dynamodb.cpython-39.pyc
Ðазад
a t�h�K � @ s� d Z ddlmZ ddlmZmZ ddlmZmZ ddlm Z ddlmZ ddl mZ dd lmZ zdd lZddlmZ W n ey� d ZZY n0 dZed d�Zee�ZG dd� de�Zd S )z"AWS DynamoDB result store backend.� )� namedtuple)�sleep�time)�Any�Dict)� _parse_url)�ImproperlyConfigured)� get_logger� )�KeyValueStoreBackendN)�ClientError)�DynamoDBBackend�DynamoDBAttribute��name� data_typec s^ e Zd ZdZdZdZdZdZdZdZ dZ eddd�Zed d d�Z eddd�Zed dd�Zeddd�ZdZdZd=� fdd� Zd>dd�Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd � Zd?d"d#�Zd$d%� Zd&d'� Zee ee!f d(�d)d*�Z"ee ee!f d(�d+d,�Z#d-d.� Z$e%d/d0� �Z&d1d2� Z'd3d4� Z(d5d6� Z)d7d8� Z*e+e,d(�d9d:�Z-� fd;d<�Z.� Z/S )@r z�AWS DynamoDB result backend. Raises: celery.exceptions.ImproperlyConfigured: if module :pypi:`boto3` is not available. Zceleryr NT�id�Sr �result�BZchord_count�N� timestamp�ttlc s� t � j|i |�� || _|p | j| _ts0td��d}d }d }|d u�rrt|�\}} } }}} }|}|}|d u}|d u}||kr�td��|}| dkr�d| � �| _d| _t � d�| j�� n| | _| jj j}|d�}|r�|| _t|�d | j��| _t|�d | j��| _|�d| j�}|�rdzt|�| _W n@ t�yb } z&t jd|� d �|d� |�W Y d }~n d }~0 0 | �pn| j| _| j| j| jf| _d | _|�r�| j||d� d S )NzBYou need to install the boto3 library to use the DynamoDB backend.Fz6You need to specify both the Access Key ID and Secret.� localhostzhttp://localhost:z us-east-1z*Using local-only DynamoDB endpoint URL: {}Zdynamodb_endpoint_url�read�writeZttl_secondszTTL must be a number; got "�")�exc_info)� access_key_id�secret_access_key)�super�__init__�url� table_name�boto3r � parse_url�endpoint_url� aws_region�logger�warning�formatZappZconf�get�int�read_capacity_units�write_capacity_units�time_to_live_seconds� ValueError�error� _key_field�_value_field�_timestamp_field�_available_fields�_client�_get_client)�selfr"