0

我正在开发我的第一个应用程序。我选择使用与 DataTables 交互的灵活 Python 环境。我的应用程序正在运行,并且使用 Identity-Aware Proxy 保护它,以限制对我们公司域的访问。

我现在正在尝试部署一个 cron 作业来定期清理旧实体以减小数据集的大小。我有清理任务工作,可以手动运行它。但是,在尝试使其自动运行时,我不断在日志中收到以下错误:

请求失败,因为 URL 需要用户登录。对于在 App Engine 中调用的请求(任务队列等离线请求,或 XMPP 和传入邮件等 webhook),URL 必须要求管理员登录(或无需登录)。

根据我在文档中阅读的内容,Flex 环境不再使用 app.yaml 文件的处理程序部分,并且该应用程序应该处理 cron 服务本身的验证。但是这个错误似乎表明脚本甚至没有运行。

我尝试了以下操作,结果每次都出现上面的错误消息: 1. 关闭 IAP 并且对访问没有限制 2. 为 /clean 作业在 app.yaml 文件中添加处理程序部分

有没有人遇到这个问题并让它工作?

应用程序.yaml:

service: dashboard
env: flex
runtime: python
entrypoint: gunicorn -b :$PORT dashboard:app --timeout 300
api_version: 1
threadsafe: false
skip_files: 
- ^(.*/)?\.pyc$

runtime_config:
  python_version: 2

cron.yaml:

cron:
- description: remove old cluster heartbeats
  url: /clean?
  schedule: every 24 hours
  target: dashboard
4

1 回答 1

0

我终于得到了这个工作。但我不确定是什么使它起作用。我没有更改我的 app.yaml、cron.yaml 或应用程序代码。

但是,我确实在这个项目中创建了另一个基本的“Hello World”服务,看看我是否可以让它工作。一旦我让它工作了,我就回去尝试我原来的仪表板服务,它现在可以工作了。感觉就像新的服务部署解决了任何问题。

于 2017-10-05T12:25:57.337 回答