2012-11-20 72 views
2

對於我的Web應用程序,我編寫了本應該訪問Google App Engine數據存儲區中的數據的cron作業,解析網站,然後通過電子郵件發送結果。Cron作業錯誤:訪問數據存儲並通過電子郵件發送

但是,請求cron作業時出現404錯誤,並且不知道如何解決此問題。這是我訪問數據庫的方式嗎?

感謝

這裏是我的update.py

from google.appengine.ext import db 

import urllib2 
import string 

import myWebapp 

## CRON 1:                  
## Check all x in B.db if courses changed         
## Yes:                   
## email x                 
## if x.things all != 'Closed':            
##  remove from db               

boo = myWebapp.B.all() 

if boo.count() >0: 
    for b in boo.run(batch_size=1000): 
     currentThings = b.mThings 
     newThings = myWebapp.updateStatus(b.mThings) 
     if currentThings != newThings: 
      b.mThings = newThings 
      myWebapp.sendTextAndEmail(b.mEmail, b.mPhoneNumMail, 
         b.mThings, "myWebapp Update") 
     numClosed = 0 
     for c in b.mThings:   
      if c[2] == 'Closed': 
       numClosed += 1 
     if numClosed == 0: 
      b.delete() 

這裏是我的cron.yaml:

cron: 
- description: check things and email if change 
    url: /.update.py 
    schedule: every 5 minutes 
    timezone: US/Pacific 

回答

0

的文檔注:

To test a cron job, sign in as an administrator and visit the URL of the handler in your browser.

Securing URLS for CRON

如果你仍然得到404建議你做一個「正常」的處理程序,並從那裏採取。

您訪問數據庫的方式或其他方式與404(未找到)錯誤無關。

+0

你是什麼意思,使一個正常的處理程序?在update.py中聲明一個RequestHandler,以及:app = webapp2.WSGIApplication('/ update.py',update)? –

+0

是的,讓一個正常的處理程序,然後去它。如果可行,請將其轉換爲您的cron處理程序。 –

相關問題