【问题标题】:Google cloud app.yaml cron.yaml for python script not working but no log用于 python 脚本的谷歌云 app.yaml cron.yaml 不起作用但没有日志
【发布时间】:2017-12-05 00:01:59
【问题描述】:

我正在尝试使用 Google Cloud 的 cron 以某个时间间隔运行我的 Python 脚本。我按照https://cloud.google.com/appengine/docs/standard/python/config/cron 的说明设置了所有内容,并且该任务显示在我的任务队列中以进行 cron 作业,但是当我单击运行时,状态显示为失败。日志中也没有显示任何内容(当我单击日志下的“查看”时,它显示“未找到条目”,所以我不知道我做错了什么。我查看了一些类似的问题,似乎我应该使用更多处理程序,但我不确定何时需要处理程序。脚本 (scraper.py) 与 cron.yaml 和 app.yaml 位于同一目录中,我的代码如下。任何帮助表示赞赏!

scraper.py

import requests
from bs4 import BeautifulSoup
import datetime
from firebase.firebase import FirebaseApplication

cron.yaml

cron:
- description: daily update
  url: /
  schedule: every 24 hours

app.yaml

runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /
  script: scraper.app

【问题讨论】:

  • 在任务队列查看器中,单击“cron 作业”选项卡。 “运行”按钮的左侧是“查看”按钮。错误显示什么?如果是 404,那么您没有正确处理 url。如果是 500,那么一些代码错误。您如何处理scraper 中的网址?而且,您可能需要app.yaml 中的通配符 url 处理程序:` - url: /.*` 而不是 ` - url: /`
  • 当我点击“查看”时,它显示“未找到条目”,所以我没有看到任何错误记录,只是状态为失败。我刚刚使用 pip install 的刮板中的所有内容。我将其更改为通配符 url,但仍然无法正常工作,但感谢您的输入。

标签: python google-app-engine cron


【解决方案1】:

您不能直接从 GAE cron 运行像 scraper.py 这样的纯 Python 脚本,至少不能使用其当前内容。

您需要一个基本的 GAE 应用程序框架,以及 cron 作业 URL 的处理程序。请记住,GAE cron 作业只是对该 URL 的 GET 请求,您的应用程序需要处理该请求。该处理程序是您放置要执行的代码的位置。

您可以在Hello World code review 中找到示例骨架。

【讨论】:

    猜你喜欢
    • 2020-03-14
    • 1970-01-01
    • 2018-01-14
    • 2017-07-23
    • 2021-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    相关资源
    最近更新 更多