【问题标题】:Django rest deferred taskDjango 休息延迟任务
【发布时间】:2020-12-18 04:15:29
【问题描述】:

我想编写一个 API 方法来执行特定任务(例如任务/创建) 但这项任务需要很长时间。 我希望用户运行任务(任务/创建),然后轮询服务直到它被执行(任务/状态)。 任务完成后,用户可以请求结果(例如任务/结果)。 我可以使用哪些工具来实现这样的模式? 我可以将任务放在单独的线程上吗?

【问题讨论】:

    标签: python django asynchronous django-rest-framework celery


    【解决方案1】:

    是的,您可以将任务放在单独的线程上。

    Celery for Django Tutorial

    设置好 celery 后,您可以在不同的线程上调用不同的任务来完成任务。此外,您还可以放置计划的、定期的任务。

    【讨论】:

    • 除了芹菜还有其他选择吗?我在本地机器上遇到了困难。也许是标准的python流?或者这是一个坏主意?
    • 如果你设置正确你应该没有任何问题,当你在你的项目环境中你可以调用celery -A DJANGO_PROCEJT_NAME worker --loglevel=info并且芹菜应该运行
    • @Pikachu 你成功经营你的芹菜了吗?如果是,我的回答是正确的,请将其标记为已回答以关闭问题:)
    猜你喜欢
    • 1970-01-01
    • 2018-10-21
    • 1970-01-01
    • 2015-09-14
    • 2017-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多