task (3) 썸네일형 리스트형 [Celery] celery beat 1. celery beatcelery beat 는 스케줄러이다. celery beat 가 주기적으로 작업을 시작하면, 가용한 워커에서 작업을 수행한다. celery beat 를 사용하기 위해서는 작업 일정에 대한 entry 를 등록해야 한다. 기본적으로 beat_schedule 설정에서 entry 들을 가져오지만, SQL DB 등과 같이 커스텀 저장소에서 entry 들을 가져올수도 있다. celery beat 를 사용할 때는 한번에 하나의 스케줄러만 동작하도록 해야한다. 만약 여러개의 스케줄러가 동작하는 경우 작업들이 중복으로 실행되어서 동기화와 락 문제가 발생할 수 있다. 이를 방지하기 위해서 하나의 스케줄러를 통한 중앙집중식으로 구성해야 한다.2. celery beat 설정1) Time Zone스케줄.. [Celery] Celery 란? FastAPI 에서 백그라운드 작업을 실행하는 방법을 찾으면서 FastAPI BackgroundTasks 와 Celery 를 비교하는 글을 본 적이 있다. 수행에 오랜 시간과 메모리가 필요한 작업을 따로 실행하고 그러한 작업들의 스케줄링을 하기 위해서 Celery 에 대해서 알아본다.1. Celery 란?Celery 는 python application 에서 많은 양의 작업들을 나눠서 처리할 수 있도록 해주는 분산 시스템이다. Python application 에서 생서된 작업들의 실시간 처리와 작업 스케줄링 등을 제공하는 task queue 이다.- Task Queue 란?Task queue 는 멀티 쓰레드, 또는 멀티 디바이스를 통한 분산 처리에서 사용되는 개념이다. Task queue 에는 처리해야.. [Python] Awaitable awaitable 은 파이썬에서 await 키워드를 사용할 수 있는 객체들을 의미한다. 이들은 await 를 통해서 실행이 완료되기 전에 다른 작업으로 전환이 가능하다. awaitable 한 객체들은 Coroutines, Tasks, Futures 의 세종류가 있다. 1. Coroutines 파이썬 코루틴은 asyncio 라이브러리 내에 정의된 비동기 코루틴으로 async def 키워드를 사용하여 정의된 함수가 리턴하는 객체이다. 일반적으로 coroutine 이라는 용어는 async def 함수와 해당 함수가 반환하는 객체를 지칭하는 의미로 혼용된다. import asyncio async def nested(): return 42 async def main(): nested() # 아무 일도 일어나지 않.. 이전 1 다음