2013-08-13 3 views
0

장고에 푸시 알림 서버를 구축 중입니다.django에서 반복적으로 URL을 폴링하는 방법은 무엇입니까?

내가 만들고자하는 첫 번째 단계는 1 분마다 내 선택 URL을 반복적으로 폴링하는 것입니다.

내가 작업에 필요한 도구를 찾는 데 문제가 있습니다.

파이썬 APNS 패키지 중 하나 인 장고가 필요하다는 것을 모았습니다.

요청 라이브러리 (사람 라이브러리의 HTTP 요청)를 사용하여 매분 폴링을 실제로 수행 할 수 있습니까? 아니면 크론 작업이 필요한가요? 나는 일종의 게임 플랜에 감사 할 것입니다. 나는 매분 동일한 URL을 호출하여 백그라운드에서 실행하는 방법을 알아낼 수 없습니다.

감사합니다.

+0

와 블로그의 예 작업을 대체 할 수 또는 당신은 당신이 장고를 사용해야 페이지의 한 부분을 refreshin 의미 -Dajaxice – nim4n

답변

1

URL에 GET 요청을 보내면 cron + curl이 작동합니다. 당신의 crontab (how to)에 다음 줄을 추가 한 서버가 한, 한 번 분마다 URL을 폴링

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

.


당신이 django-celery, 파이썬과 장고의 배경 작업 큐를 체크 아웃, 장고와 폴링을 통합합니다. 먼저 Celery's Django installation guide을 따르고 this blog post에서 cron 대체품으로 셀러리를 사용하는 방법을 살펴보십시오. 사용 사례를 들어

, 당신이 당신의 전체 페이지를 refreshin 의미하는 경우 당신은 당신이 JS와 함께 작업을 수행해야합니다

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) 
+0

고마워! 이것 좀 봐. 나는 cron cron cron을 계속 생각하고 있었지만 Celer는 더 강력한 옵션처럼 보였다. – user798719

관련 문제