|
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{0 � @ sp d Z ddlmZ ddlmZmZ ddlmZ ddlmZ ddl m
Z
ddlmZ ddl
mZ dd lmZ dd
lmZmZ ddlmZmZ ddlmZ d
dlmZ zTddlZddlmZ ddlmZ ddl m!Z! ddl"m#Z# ddl$m%Z% ddl&m'Z' W n e(�y dZ#Y n0 zddl"m)Z)m*Z* W n e(�y> dZ)dZ*Y n0 dZ+ee,�Z-G dd� de�Z.G dd� de.�Z/dS )z5Google Cloud Storage result store backend for Celery.� )�ThreadPoolExecutor)�datetime� timedelta)�getpid)�RLock)�bytes_to_str)�
dictfilter)�url_to_parts)�maybe_signature)�
ChordError�ImproperlyConfigured)�GroupResult�allow_join_result)�
get_logger� )�KeyValueStoreBackendN��retry)�Conflict)�if_exception_type)�storage)�Client)�
DEFAULT_RETRY)� firestore�firestore_admin_v1)�
GCSBackendc sp e Zd ZdZ� fdd�Zdd� Zdd� Zdd � Zd
d� Ze dd
� �Z
e dd� �Zdd� Zdd� Z
dd� Z� ZS )�GCSBackendBasez)Google Cloud Storage task result backend.c s t std��t� jf i |�� t� | _t� | _t| _ d | _
| jj}| j
rd| �� }|jf i t|��� |�d�| _| js~td��|�d�| _| js�td��|�dd��d�| _t|�d d
��| _t|�d�p�d�| _| jdk r�td
| j� d���n"| j�r| �� �std| j� ���d S )Nz8You must install google-cloud-storage to use gcs backend�
gcs_bucketz:Missing bucket name: specify gcs_bucket to use gcs backendZgcs_projectz6Missing project:specify gcs_project to use gcs backend�
gcs_base_path� �/Zgcs_threadpool_maxsize�
Zgcs_ttlr z
Invalid ttl: z# must be greater than or equal to 0z>Missing lifecycle rule to use gcs backend with ttl on bucket: )r r �super�__init__r �_client_lockr �_pidr �
_retry_policy�_client�app�conf�url�_params_from_url�updater �get�bucket_name�project�strip� base_path�int�_threadpool_maxsize�float�ttl� _is_bucket_lifecycle_rule_exists)�self�kwargsr) Z
url_params�� __class__� �=/usr/local/lib/python3.9/site-packages/celery/backends/gcs.pyr# - sJ ���
�
��zGCSBackendBase.__init__c C s@ t |�}| �|�}z|j| jd�W S tjjy: Y d S 0 d S �Nr )r � _get_blobZdownload_as_bytesr&