所以,其他一切都有效......前言。但是,我还没有真正移出管理界面。我试图从API获取数据并将其插入数据库(如果有更改)。我设法写了一个可以做到这一点的脚本(理论上......它可以在本地完成),但是我无法在云中获取应用程序来识别它的存在。我已经按照谷歌的建议将其添加到app.yaml和cron.yaml无效。
我是否需要将此添加到urls.py中?到目前为止,我还没有使用过处理程序,我不确定settings.py会发生什么,yaml文件会发生什么,以及这有多少是小精灵。
这里是相关文件...... app.yaml中
runtime: python
env: flex
entrypoint: gunicorn -b :$PORT mysite.wsgi
threadsafe: yes
beta_settings:
cloud_sql_instances: [redacted]
runtime_config:
python_version: 3
health_check:
enable_health_check: False
handlers:
- url: /static
static_dir: static/
- url: /run/get_data/
script: JSONdownload.app
login: admin
- url: .*
script: mysite.wsgi.application
cron.yaml
cron:
- description: "get data"
url: /run/get_data/
schedule: every 5 minutes
JSONdownload.py
#!/usr/bin/env python
# /var/spool/cron/crontabs
import json
import urllib2
from django.http import HttpResponse
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from .models import Game
from .models import Team
class JSONdownloadHandler(webapp.RequestHandler):
def get(self):
self.response.write('cron')
class MainHandler(webapp.RequestHandler):
def get(self):
self.response.write('yay')
我为一个基本的python应用程序找到了很好的资源......但是对于这种情况没有一个真的......任何人都知道比我正在做的更好的事情,请告诉我!
答案 0 :(得分:1)
您将flexible environment app.yaml
的元素与standard environment app.yaml
特别忽略script: JSONdownload.app
部分。您需要在/run/get_data/
应用内添加mysite.wsgi
路径的处理程序,也可以从那里调用JSONdownload.py
代码。
答案 1 :(得分:0)
所以...那是我没有路线到位置。我实际上只能设置一个路由(管理员对它)到URL,然后能够通过cron.yaml调用它。