[python] Celery의 작업 결과를 데이터베이스에 저장하는 방법은 어떻게 되는가?
  1. 필요한 데이터베이스 모델을 정의합니다. 예를 들어, TaskResult 모델을 생성합니다. 이 모델은 작업 결과를 저장할 필드를 포함해야 합니다.
from django.db import models

class TaskResult(models.Model):
    result = models.CharField(max_length=255)
    # 다른 필요한 필드들을 추가할 수도 있습니다

    def __str__(self):
        return self.result
  1. Celery 작업이 완료될 때마다 작업 결과를 데이터베이스에 저장합니다. 이를 위해 Celery의 @task 데코레이터를 사용합니다.
from celery import shared_task
from .models import TaskResult

@shared_task
def your_task(*args, **kwargs):
    # 작업 로직
    result = "작업 결과"  # 실제 작업 결과를 얻는 방식을 여기에 적용하세요

    # 결과를 데이터베이스에 저장
    TaskResult.objects.create(result=result)

    return result

위의 예시에서 your_task는 Celery 작업입니다. 작업 로직을 포함한 함수입니다. 작업이 완료된 후 TaskResult 모델을 사용하여 작업 결과를 데이터베이스에 저장할 수 있습니다.

저장된 작업 결과를 사용할 때, TaskResult 모델을 쿼리하여 결과를 가져올 수 있습니다.

이렇게 작업 결과를 데이터베이스에 저장하면 필요할 때 결과를 검색하고 추적할 수 있습니다. Celery를 사용하여 비동기 작업을 처리할 때 유용한 방법입니다.