0

Django でプッシュ通知サーバーを構築しています。

構築したい最初のステップは、選択した URL を 1 分ごとに繰り返しポーリングすることです。

仕事に必要なツールを理解するのに苦労しています。

Python APNS パッケージの 1 つである Django が必要だということですが、他に何が必要でしょうか?

要求ライブラリ (人間ライブラリの HTTP 要求) を使用して、実際に毎分ポーリングを行うことはできますか? それともcronジョブが必要ですか?ある種のゲームプランをいただければ幸いです。毎分同じ URL を呼び出してバックグラウンドで実行する方法がわかりません。

ありがとうございました!

4

1 に答える 1

1

URL に GET リクエストを送信するだけでよい場合は、cron + curl が機能します。次の行を crontab に追加します ( how to )。

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

これにより、サーバーが稼働している限り、毎分 1 回 URL がポーリングされます。


ポーリングを Django と統合する場合は、Python と Django のバックグラウンド タスク キューであるdjango-celeryを確認してください。最初にCelery の Django インストール ガイドに従ってください。次に、このブログ投稿を見て、cron の代わりとして celery を使用する方法について説明しています。

あなたのユースケースでは、ブログのサンプルタスクを次のように置き換えることができます

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)
于 2013-08-13T05:33:36.577 に答える