Celery scheduled aws upload_file timeout
python
def upload_file_to_aws(file_name):
"""Upload a file to an S3 bucket
:param file_name: File to upload
:return: True if file was uploaded, else False
"""
bucket = get_bucket()
# If S3 object_name was not specified, use file_name
object_name = file_name.split("/")[-1]
# Upload the file
s3_client = boto3.client(
"s3",
aws_access_key_id=AWS_ACCESS_KEY_ID,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY
)
ce_logger.info(f"s3_client:{s3_client}")
try:
s3_client.upload_file(file_name, bucket, object_name)
except Exception as e:
logger.info(e)
return False
return True
Когда я правильно выполняю описанный выше метод, я нормально загружаю файл на aws s3, но когда я ставлю эту задачу в расписание celery, использую метод s3_client.upload_file(file_name, bucket, object_name). Это приведет к таймауту. лог celery отображается
[the 2022-12-08 13:40:03, 205: INFO/ForkPoolWorker-1] project.invoice.tasks.download_gmail_attachment_create_invoice[14b98680-7f38-45fb-9dbe-283330c304b0]: s3_client:
[13:45:11 2022-12-08, 162: INFO/ForkPoolWorker-1] project.invoice.tasks.download_gmail_attachment_create_invoice[14b98680-7f38-45fb-9dbe-283330c304b0]: Connect timeout on endpoint URL: "https://karbon-text.s3.ap-south-1.amazonaws.com/upload_aSZcLIM.pdf"
Почему это происходит
Я хочу успешно загружать файлы на aws s3 в расписании celery