|
Server : LiteSpeed System : Linux barito.iixcp.rumahweb.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64 User : elvh3918 ( 1528) PHP Version : 8.2.31 Disable Function : mail Directory : /usr/local/lib/python3.9/site-packages/celery/backends/__pycache__/ |
a
��Sh�
� @ sp d Z ddlmZ ddlmZ ddlmZ zddlZddlZW n e yV dZdZY n0 dZ
G dd � d e�ZdS )
zs3 result store backend.� )�bytes_to_str)�ImproperlyConfigured� )�KeyValueStoreBackendN)� S3Backendc sH e Zd ZdZ� fdd�Zdd� Zdd� Zdd � Zd
d� Zdd
� Z � Z
S )r a0 An S3 task result store.
Raises:
celery.exceptions.ImproperlyConfigured:
if module :pypi:`boto3` is not available,
if the :setting:`aws_access_key_id` or
setting:`aws_secret_access_key` are not set,
or it the :setting:`bucket` is not set.
c s� t � jf i |�� trts"td��| jj}|�dd �| _|�dd �| _ |�dd �| _
|�dd �| _|�dd �| _| js~td��|�dd �| _
| �� | _d S ) Nz'You must install boto3to use s3 backendZs3_endpoint_urlZ s3_regionZs3_access_key_idZs3_secret_access_keyZ s3_bucketzMissing bucket nameZs3_base_path)�super�__init__�boto3�botocorer Zapp�conf�get�endpoint_url�
aws_region�aws_access_key_id�aws_secret_access_key�bucket_name� base_path�_connect_to_s3�_s3_resource)�self�kwargsr �� __class__� �</usr/local/lib/python3.9/site-packages/celery/backends/s3.pyr s zS3Backend.__init__c C s$ | j r| j | n|}| j�| j|�S �N)r r ZObjectr )r �keyZkey_bucket_pathr r r �_get_s3_object5 s zS3Backend._get_s3_objectc
C s� t |�}| �|�}z2|�� |�� d �� }| jdkr:|n|�d�W S tjj y� } z0|j
d d dkrxW Y d }~d S |�W Y d }~n
d }~0 0 d S )N�Body�binaryzutf-8�ErrorZCodeZ404)r r �loadr �read�content_encoding�decoder
�
exceptionsZClientError�response)r r � s3_object�data�errorr r r r 9 s
z
S3Backend.getc C s"