개발/Celery
celery 시간 확인하기
copg
2023. 12. 17. 20:20
728x90
반응형
Celery는 현재 시간을 확인하기 위해 now()
함수를 제공합니다. 이 함수는 datetime
객체를 반환하며, 이 객체는 현재 시간과 날짜 정보를 포함합니다.
Celery를 사용하기 위해서는 먼저 celery
모듈을 가져와야 합니다.
import celery
이제 now()
함수를 사용하여 현재 시간을 확인할 수 있습니다.
now = celery.now()
print(now)
이 코드를 실행하면 다음과 같은 출력이 나타납니다.
2023-12-13 19:20:00.000000
now()
함수는 기본적으로 UTC 시간을 반환합니다. 한국 시간으로 변경하려면 다음과 같이 timezone
인자를 지정합니다.
now = celery.now(timezone='Asia/Seoul')
print(now)
이 코드를 실행하면 다음과 같은 출력이 나타납니다.
2023-12-13 22:20:00.000000
Celery beat를 사용하여 백그라운드 작업을 스케줄링하는 경우, 작업의 시작 시간을 지정할 때 now()
함수를 사용할 수 있습니다. 예를 들어, 다음과 같이 작업을 매일 오후 10시에 시작하도록 설정할 수 있습니다.
@app.task
def my_task():
# ...
@celery.schedules.schedule(hour='22', minute='00')
def my_schedule():
return my_task.apply_async()
이 코드를 실행하면 다음과 같은 스케줄이 생성됩니다.
schedules:
my_schedule:
description:
last_run: 2023-12-13 22:00:00
next_run: 2023-12-14 22:00:00
이 스케줄에 따라 my_task()
작업은 매일 오후 10시에 시작됩니다.