gpt4 book ai didi

python - 谷歌应用程序引擎(gae),python - 将 cron 任务放在哪里?

转载 作者:行者123 更新时间:2023-12-01 04:24:11 25 4
gpt4 key购买 nike

我的目录结构包含不同的模块..

管理员,应用程序编程接口(interface),等等

我需要创建一个 cron 作业来处理更新 api 模块中引用的模型。

api 有自己的 yaml 文件:api.yaml

可以安全地假设我应该将 cron.yaml 放在与 api.yaml 相同的位置吗?

//====== future 笔记

我通过以下步骤成功执行了一个简单的 cronjob

  1. cron.yaml 与 api.yaml 位于同一目录
  2. api.yaml 保持不变
  3. 我在routes.py中添加了新路由的条目:Route('/crontask', handlers.CronTaskHandler,methods=['GET'])
  4. 我在一个名为 cron_task_handler.py 的单独文件中创建了一个处理程序,其中包含包含 def get(self) 的 CronTaskHandler 类
  5. 我更新了处理程序目录 init.py 以包含 from cron_task_handler.py import CronTaskHandler,并将 CronTaskHandler 放入“全部”列表中。
  6. 我通过终端更新了 cron 任务,导航到包含 cron.yaml (api) 的目录并输入 appcfg.py -A <app_id> update_cron .
  7. 我运行了开发服务器
  8. 我在浏览器中访问了 localhost:something/crontask url
  9. 我导航到管理控制台,并在 cron jobs 链接下看到了我的 cron job。

cron.yaml

cron:
- description: something
url: /crontask
schedule: every 1 minutes

cron_task_handler.py

class CronTask(base_class):
def get(self):
print "hello, this is a cron job"

最佳答案

cron.yaml 配置是应用程序级配置,而不是模块配置。特定任务可能会根据 cron.yaml 和 dispatch.yaml 的内容定向到特定模块。

我会将其保留在应用程序的顶层,如 Module configuration doc 中的建议。 :

Optional application-level configuration files (dispatch.yaml, cron.yaml, index.yaml, and queue.yaml) are included in the top level app directory.

注意:在多模块应用中,您可能需要使用appcfg.py update_cron作为某些/全部的常规appcfg.py更新的模块可能不会更新cron.yaml

关于python - 谷歌应用程序引擎(gae),python - 将 cron 任务放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33348035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com