Python Google应用程序引擎Cron作业/计划任务不工作

Python Google应用程序引擎Cron作业/计划任务不工作,python,google-app-engine,cron,python-2.7,Python,Google App Engine,Cron,Python 2.7,我创建这个cron作业是为了获取twitter提要并将其存储在数据存储中。我什么都试过了,但我的工作不起作用。我读了以下文章/教程和一些stackoverflow问题,但我无法解决这个问题 这是我的密码 我是克朗·伊马尔 cron: - description : capture twitter feed url : /twittertask schedule: every 1 minutes target: version-2 这是我需要做这项工作的班级 import we

我创建这个cron作业是为了获取twitter提要并将其存储在数据存储中。我什么都试过了,但我的工作不起作用。我读了以下文章/教程和一些stackoverflow问题,但我无法解决这个问题

这是我的密码

我是克朗·伊马尔

cron:
- description : capture twitter feed 
  url : /twittertask
  schedule: every 1 minutes
  target: version-2
这是我需要做这项工作的班级

import webapp2
from google.appengine.ext import db

class Twitt(db.Model):
    created_at = db.IntegerProperty(required = True)
    id = db.StringProperty(required = True)
    text = db.StringProperty(required = True)

class TwitterTask(webapp2.RequestHandler):

    def get(self):
        url = "https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=BeijingAir&count=10"

        json_string = urllib2.urlopen(url).read()

        data = json.loads(json_string)

        for item in data:
            created_at_item = item['created_at']
            text_item = item['text']
            id_item = item['id']

            e = Twitt(id = created_at_item, text = text_item, id = id_item)
            e.put()

        self.response.out.write('Hello prueba!')
这是app.ymal

application: cronjob
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: index.app

- url: /twittertask
  script: twittertask.app
这是index.py

import webapp2

class MainPage(webapp2.RequestHandler):
  def get(self):
      self.response.headers['Content-Type'] = 'text/plain'
      self.response.write('Hello, Check Admin')

app = webapp2.WSGIApplication([('/', MainPage)],
                              debug=True)

def main():

    run_wsgi_app(application)

if __name__ == "__main__":
    main()

嗯,我找不到错误在哪里。我在我的开发服务器上进行了测试。我没有将其上传到google app engine。

Cron在本地开发服务器上不工作。把它上传到云端,它就会工作了

在本地访问您的appserver:

http://127.0.0.1:8080/_ah/admin
点击“Cron作业”

它会说“在生产中,这将在这些时候运行:”


你的日程安排在这里

问题出在你的app.yaml中。URL是从上到下匹配的,但您的第一个处理程序匹配所有URL。移动
twitter任务
条目,使其位于
处理程序
下的第一个

好,谢谢。我把它上传到谷歌应用引擎。现在我得到一个错误,叫做2012/09/06 10:28:15 on time Failed,让它运行到下一个周期。我曾经有过这样的经历,下一次效果很好。从未抽出时间来解决这个问题,但毫无疑问,日志中会有一些内容。另外,让定时刷新在本地工作的一个快速解决方案是使用Opera浏览器,并将其设置为每N分钟/秒刷新一次相关页面。嗯,它应该每分钟运行一次。我等了5分钟多。你能检查我的cron.ymal或app.ymal文件中是否没有错误吗。处理类(TwitterTask)是正确的。非常感谢你!检查行:url:/twittertask,就像在“url”和“:”之间有一个空格一样,它可能不起作用。和description在冒号和值之间也有一个空格。检查cron.yaml时,我没有空格。但即使在dev服务器中更改了它,我也会收到404错误消息。
http://127.0.0.1:8080/_ah/admin/cron