【问题标题】:supplied cron.yaml not reflected in admin console cron page提供的 cron.yaml 未反映在管理控制台 cron 页面中
【发布时间】:2014-04-25 23:05:32
【问题描述】:

我向 GAE 项目添加了一个基本的 cron.yaml 文件并更新了该项目。它的默认版本。我在上传期间没有收到任何解析错误,但 GAE 仪表板上的 cron 任务中没有条目表明 yaml 文件已被理解

任何熟悉 drupal 的人都会了解 cron url 的结构,它会在请求中附加一个唯一的键,以防止您的网站被对 cron 的请求所轰炸

网址的长度可能是问题吗? GAE 上的管理员日志未显示已添加 cron 作业

这是我的 cron.yaml(除了一些#cmets)

- description: Drupal system cron
  url: /cron.php?cron_key=Rand0-CharactersAndNUmbersInDifferentCases2
  schedule: every 60 mins

【问题讨论】:

    标签: php google-app-engine cron yaml


    【解决方案1】:

    您的 yaml 文件是否以 cron: 开头?

    cron:
     - description: Drupal system cron
       url: /cron.php?cron_key=Rand0-CharactersAndNUmbersInDifferentCases2
       schedule: every 60 mins
    

    语法是正确的,所以问题一定出在文件的上传上。任务是否显示在本地管理面板中(通常位于 http://localhost:8000/cron)?也许尝试使用appcfg.py update_cron重新上传cron文件

    此外,没有必要使用唯一密钥来保护任务 - 在您的 app.yaml 中您可以指定 login: admin,如图所示:

    - url: /cron.* script: cron.php login: admin

    计划任务以管理员权限运行:https://developers.google.com/appengine/docs/php/config/cron#PHP_app_yaml_Securing_URLs_for_cron

    【讨论】:

    • Drupal 需要执行计划的 cron 作业才能正常工作,因此将其限制为管理员是没有用的
    • 我不确定哪些步骤解决了它,但我按照您的建议运行了 appcfg.py update_cron "project" 并在仪表板上创建了 cron 条目。我认为这可能是因为我在更新整个项目时的项目路径指向了 app.yaml 文件。将其更改为 appcfg.py --oauth2 update "PathtoProjectFolder" 而不是 "PathtoProjectFolder\app.yaml" 更新 cron 条目,并在命令输出中输出 cron 详细信息以及部署成功,检查更新应用程序版本是否正在服务
    • 另外忘了说我确实是从 cron 开始的:我只是忘了把它包括在这里
    猜你喜欢
    • 1970-01-01
    • 2022-11-21
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    相关资源
    最近更新 更多