如何在将项目上传到 App Engine 服务器时运行特定代码

76 阅读2分钟

在 App Engine 中,您可以在将项目上传到服务器时运行特定的代码,这非常有用,因为您可以使用它来执行一些初始化任务,例如创建数据表、设置默认值或运行数据迁移。

f75b0c2e5ac6bb734832a5f5a5ab2a6.png

2. 解决方案

  1. 使用 cron.yaml 文件

    您可以在 App Engine 中使用 cron.yaml 文件来设置定时任务,这些任务会在指定的时间间隔自动运行。要使用 cron.yaml 文件来运行代码,请执行以下步骤:

    • 在您的项目目录中创建一个名为 cron.yaml 的文件。
    • cron.yaml 文件中,添加以下内容:
    cron:
      - description: "My scheduled task"
      http://www.jshk.com.cn/mb/reg.asp?kefu=xiaoding;//爬虫IP免费获取;
        url: /cron/myTask
        schedule: every 1 minutes
    
    • cron.yaml 文件上传到您的 App Engine 项目中。

    • 部署您的 App Engine 项目。

    当您将 cron.yaml 文件上传到您的 App Engine 项目中时,App Engine 会自动创建您要运行的代码的 URL。您可以在 cron.yaml 文件中指定此 URL。当您部署您的 App Engine 项目时,App Engine 会开始根据您在 cron.yaml 文件中指定的计划运行您的代码。

    在上面的示例中,我们创建了一个名为 myTask 的定时任务,该任务会在每分钟运行一次。这个任务的 URL 是 /cron/myTask。当 myTask 任务运行时,它会调用 /cron/myTask URL,然后运行您在该 URL 中指定的代码。

    您可以使用 cron.yaml 文件来运行任何类型的代码,包括 Python 代码、Java 代码、Go 代码和 PHP 代码。

  2. 使用 appengine-cron 模块

    您也可以使用 appengine-cron 模块来运行代码。appengine-cron 模块是一个 Python 模块,它允许您在 App Engine 中创建和管理定时任务。要使用 appengine-cron 模块来运行代码,请执行以下步骤:

    • 在您的项目目录中安装 appengine-cron 模块:
    pip install appengine-cron
    
    • 在您的项目中创建一个 Python 脚本,该脚本包含您想要运行的代码。
    • 在您的 Python 脚本中,导入 appengine-cron 模块:
    import appengine_cron
    
    • 使用 appengine-cron 模块来创建和管理定时任务。例如,以下代码创建一个名为 myTask 的定时任务,该任务会在每分钟运行一次:
    appengine_cron.add(
        url="/cron/myTask",
        schedule="every 1 minutes",
    )
    appengine_cron.start()
    
    • 将您的 Python 脚本上传到您的 App Engine 项目中。

    • 部署您的 App Engine 项目。

    当您将您的 Python 脚本上传到您的 App Engine 项目中时,App Engine 会自动创建您要运行的代码的 URL。您可以在 Python 脚本中指定此 URL。当您部署您的 App Engine 项目时,App Engine 会开始根据您在 Python 脚本中指定的计划运行您的代码。

    在上面的示例中,我们创建了一个名为 myTask 的定时任务,该任务会在每分钟运行一次。这个任务的 URL 是 /cron/myTask。当 myTask 任务运行时,它会调用 /cron/myTask URL,然后运行您在该 URL 中指定的代码。