분류 전체보기(145)
-
Celery worker로 병렬 처리
Celery에서 큰 작업을 분산 처리하려면 작업을 작은 단위로 분할하여 처리하도록 구성하는 것이 일반적입니다. 이를 통해 여러 워커에서 동시에 실행되도록 하고, 전체 작업 시간을 단축할 수 있습니다. 이것은 Celery의 기능 중 하나인 Task Chaining 또는 Subtasks를 활용하여 수행됩니다.다음은 큰 작업을 분할하고 동시에 실행하는 방법에 대한 예시입니다.# externalAPI/tasks.pyfrom celery import Celery, groupfrom celery.schedules import crontabfrom celery.utils.log import get_task_loggerapp = Celery('app')logger = get_task_logger(__name__)@ap..
2023.12.20 -
celery 시간 확인하기
Celery는 현재 시간을 확인하기 위해 now() 함수를 제공합니다. 이 함수는 datetime 객체를 반환하며, 이 객체는 현재 시간과 날짜 정보를 포함합니다. Celery를 사용하기 위해서는 먼저 celery 모듈을 가져와야 합니다. import celery 이제 now() 함수를 사용하여 현재 시간을 확인할 수 있습니다. now = celery.now() print(now) 이 코드를 실행하면 다음과 같은 출력이 나타납니다. 2023-12-13 19:20:00.000000now() 함수는 기본적으로 UTC 시간을 반환합니다. 한국 시간으로 변경하려면 다음과 같이 timezone 인자를 지정합니다. now = celery.now(timezone='Asia/Seoul') print(no..
2023.12.17 -
Django-Celery 초급 가이드
다음과 같은 Django 프로젝트 레이아웃이 있다면: - proj/ - manage.py - proj/ - __init__.py - settings.py - urls.py 권장되는 방법은 proj/proj/celery.py 모듈을 생성하여 Celery 인스턴스를 정의하는 것입니다: # file: proj/proj/celery.py import os from celery import Celery # 'celery' 프로그램을 위해 기본 Django 설정 모듈을 설정합니다. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proj.settings') app = Celery('proj') # 여기서 문자열을 사용하는 것은 worker가 구성 객체를 자식 프로세스로 직렬화..
2023.12.11 -
엑셀 파일 합치기: openpyxl로 쉽게 해결하기
엑셀 파일 합치기: openpyxl로 쉽게 해결하기 엑셀 파일을 효율적으로 관리하고 데이터를 합치는 작업은 많은 업무에서 필수적입니다. Python의 openpyxl 라이브러리를 활용하면 이 작업을 더욱 간편하게 처리할 수 있습니다. 이번 포스터에서는 여러 엑셀 파일을 합치는 간단한 코드를 소개하겠습니다. 필요한 라이브러리 설치 pip install openpyxl코드 예제 import openpyxl from openpyxl import load_workbook def merge_excel_files(output_file, input_files): merged_workbook = openpyxl.Workbook() merged_sheet = merged_workbook.active for input_f..
2023.12.10 -
Celery의 튜토리얼
Celery를 활용한 첫걸음 Celery는 기능이 풍부한 태스크 큐로, 복잡한 기능을 전부 학습하지 않고도 간편하게 사용할 수 있도록 설계되었습니다. 최상의 실천 방법에 따라 제품을 확장하고 다른 언어와 통합할 수 있도록 구성되어 있으며, 운영에 필요한 도구와 지원을 제공합니다. 핵심 내용: 브로커 선택 및 설치 RabbitMQ Redis 기타 브로커 (Amazon SQS 등) Celery 설치 pip install celery 애플리케이션 구성 tasks.py 파일을 생성하고 다음과 같이 Celery 애플리케이션을 설정합니다: from celery import Celery app = Celery('tasks', broker='pyamqp://guest@localhost//'..
2023.12.10 -
Django의 bulk_create 메서드를 활용한 효율적인 대량 데이터 삽입
제목: Django의 bulk_create 메서드를 활용한 효율적인 대량 데이터 삽입 소개 Django는 데이터베이스와의 상호 작용을 간편하게 만들어주는 강력한 웹 프레임워크입니다. 대량의 데이터를 효율적으로 데이터베이스에 삽입하려면 bulk_create 메서드를 활용할 수 있습니다. 이 포스트에서는 bulk_create 메서드의 사용법과 그 장점에 대해 알아보겠습니다. 1. bulk_create 메서드란? bulk_create 메서드는 Django ORM에서 제공하는 특별한 메서드로, 여러 개의 객체를 한 번의 쿼리로 데이터베이스에 삽입할 수 있습니다. 이는 대량의 데이터를 효율적으로 처리하고 성능을 향상시킬 수 있는 강력한 기능입니다. # 예시 모델 class Book(models.Model): ti..
2023.12.09