2010-05-21 6 views
2

전자 메일 알림을 정기적으로 보내는 고객을위한 사이트를 개발 중입니다.이를 위해 2am에 실행되는 cron 작업을 통해 개별 작업을 예약하여 알림을 보냅니다. 이 모든 것이 잘되고 즉시 실행될 작업이 있지만 개발 및 테스트를 돕기 위해 완벽하게 작동합니다. 명령 줄에서 작업을 예약 할 때 ipythonremote_api_stub을 사용하여 일부 응용 프로그램과 데이터 저장소와 상호 작용하는 CLI 응용 프로그램을 작성했습니다. like :작업 큐 실행

task = taskqueue.Task(url='/admin/tasks/email', params={'email': email, 'type': notif.type}) 
task.add("email") 

작업 실행이 1 시간 지연됩니다. 왜 이런거야? 작업을 즉시 실행할 수있는 방법이 있습니까?

답변

3

SDK에 시간대 관련 bug이있는 것 같습니다. 원격 API를 통해 만든 작업의 ​​eta가 추가 된 후 1 시간 후에 예약됩니다. 명시 적으로 카운트 다운을 0으로 설정하면 작업이 즉시 실행되도록 예약해야합니다.

+0

감사합니다.하지만 'task = taskqueue.Task (url ='/ admin/tasks/email ', params = {'이메일 ': 이메일,'type ': notif.type}, 카운트 다운 = 0) ': /' –

+1

ETA를 과거로 설정하십시오. –

2

즉시 실행하려면 브라우저에서 URL을 열면됩니다. 왜 태스크 큐를 가지고 주위를 비웃을까요?

+0

감사합니다.하지만 작업은'POST '로'GET '하지 않고 호출되므로 실제로 해결책이 아닙니다. –

+2

하지만 Task는 응용 프로그램의 RequestHandler가 처리하는 URL 일 뿐이므로 GET 또는 POST로 호출되는지 여부에 관계없이 동일한 코드를 쉽게 실행할 수 있습니다. –