<aside> 💡 Python 동시성 프로그래밍에서 가장 많이 사용하는 방법 중 하나이며, 분산 메시지 전달을 기반으로 동작하는 비동기 작업 큐

</aside>

공식 문서

https://docs.celeryq.dev/en/latest/getting-started/first-steps-with-celery.html#first-steps

예시

delay 사용

# view.py

@api_view(['POST', 'GET'])
def run_register_total(request):
    list_file_path = GetListFilePath()
    scenes_dict = GetSpecificScenes(list_file_path)
    for sensor, file_list in scenes_dict.items():
        band, normalization = GetParmas(sensor)
        for scene in file_list:
            params = {
                        "rgb" : band,
                        "scenes" : scene,
                        "work" : "register",
                        "restart" : "True",
                        "normalization" : normalization
                        }
            ret = process_register_job.delay(params = params)
    return HttpResponse(json.dumps({"task_id": ret.id}))