如何在django中重复轮询URL



我正在Django中构建一个推送通知服务器。

我想要构建的第一步是每隔1分钟左右反复轮询我选择的URL

我很难弄清楚这份工作需要哪些工具。

我想我需要Django,一个Python APNS包,还有什么?

我可以使用请求库(HTTP请求人类库)来实际每分钟进行一次轮询吗?还是我需要一份裙带工作?我希望能有一个游戏计划。我不知道如何每分钟调用一个相同的URL并让它在后台运行。

谢谢!

如果您只需要向URL发送GET请求,那么cron+ccurl将为您工作。将以下行添加到您的crontab(如何):

* * * * * /usr/bin/curl --silent --compressed http://path.to/the/url

只要你的服务器启动,它就会每分钟轮询一次URL。


如果您想将轮询与Django集成,请查看Django-celene,这是Python和Django的后台任务队列。首先遵循Celery的Django安装指南,然后看看这篇关于如何使用芹菜作为cron替代品的博客文章。

对于您的用例,您可以将博客的示例任务替换为

import requests
from celery.task.schedules import crontab
from celery.decorators import periodic_task
@periodic_task(run_every=crontab(hour="*", minute="*", day_of_week="*"))
def test():
    response = requests.get('https://path.to/the/url/')
    process(response)

相关内容

  • 没有找到相关文章

最新更新