微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

向 Django 添加后台任务

如何解决向 Django 添加后台任务

我不知道我是否在这里选择了一个好的方法。事实上,我很有可能完全错了。

在我的 Django 应用程序中,我需要与 Twitter API 建立连接,以不断获取所需的推文。为此,我使用

编写了一个脚本
def connect():
    response = requests.get(
        "https://api.twitter.com/2/tweets/search/stream",headers=headers,stream=True,)
    for response_line in response.iter_lines():
        if response_line:
            json_response = json.loads(response_line)
            print(json.dumps(json_response,indent=4,sort_keys=True))

问题是,我不知道在 Django 中如何以及在何处调用函数。 这是我目前发现的:

  • 这个函数阻塞了它的调用者的流程,所以它需要
    并发执行,无论是作为进程还是线程。
  • 为了执行这样的函数,也称为后台任务, 我需要使用复杂的选项,例如 Celery,或者 轻量级库,例如 DjangoBackgroundTasks
  • 显然,我使用了 DjangoBackgroundTasks 并安装了它。但是现在有一些问题我无法解决首先,我应该在代码中的哪个位置调用我的 connect() 函数 我见过人们在控制台中调用它,但这不是我想要做的,我需要调用它并执行它除了主要的 Django 应用程序。

P.S 我见过如下链接这样的实现,但老实说,它们超出了我的水平,我无法弄清楚代码是如何工作的。 https://github.com/michaelbrooks/django-twitter-stream/tree/master/twitter_stream

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。