【问题标题】:How to call shared_task asynchronously如何异步调用shared_task
【发布时间】:2020-08-31 14:02:15
【问题描述】:

我有这样的芹菜任务

from celery import shared_task

@shared_task
def send_to_sap(user_id):
    user = User.objects.get(pk=user_id)
    if settings.SYNCHRONIZATION:
        response = requests.post(
            settings.SOME_URL,
            json={}
        )

我想从视图中以异步模式执行它,我正在尝试这样做

from tasks import send_to_sap

def send_to_sap(request, pk):
    # some logic...
    if serializer.is_valid():
        serializer.save()
        send_to_sap.apply_async(kwargs={'user_id': pk})
        return Response(status=status.HTTP_200_OK)

【问题讨论】:

    标签: python django celery


    【解决方案1】:
    send_to_sap.delay(pk)
    

    我应该用delay()打电话

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-20
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 2016-07-09
      • 2018-10-03
      • 2018-02-11
      相关资源
      最近更新 更多