不确定如何配置WSGI处理程序/Flask以在Python/App Engine中启用cron作业



我有以下代码,当我在应用程序引擎上部署它时,它能成功工作。除了我想用一个cron运行它。

import pandas as pd
import requests
from flask import Flask
app = Flask(__name__)
@app.route('/')
def sfLibraries():
return 'Success'
if __name__ == '__main__':
app.run(host='127.0.0.1', port=8080, debug=True)

cron.yaml

cron:
- description: "SF Loader"
url: /task/loader
schedule: every 1 hours

app.yaml

runtime: python38
handlers:
- url: /task/loader
script: auto

我知道,如果我将@app.route("/"(更改为@app.router("/task/loader"(,cron将成功工作,但当我第一次部署它并看到成功时,我就失去了访问该站点的能力。

gcloud app browse
Did not detect your browser. Go to this link to view your app:
https://<<<my_synapse>>>.uc.r.appspot.com

https://<lt<my_synapse>gt>。uc.r.appspot.com:

Not Found
The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

我怎么能两全其美?既能通过gcloud应用程序浏览访问网站,看到成功,又能成功运行cron?

我提到WSGI Handler是因为我发现了这篇相关的帖子,但不确定WSGI Handler如何帮助或改进Flask在谷歌应用引擎python 中设置cron工作

创建两个不同的路由来完成您需要的任务。在这种情况下,函数必须具有不同的名称。


@app.route('/')
def sfLibraries():
return 'Success'
@app.route('/task/loader')
def sfLibrariesSecond():
return 'Success'

为每个操作分配不同的操作。

他们也可以做完全相同的事情。如果是这种情况,那么将两条路由分配给同一个函数。


@app.route('/')
@app.route('/task/loader')
def sfLibraries():
return 'Success'

相关内容

最新更新