我将应用程序部署到使用CRON作业的Google App Engine。我遵循了this教程。它工作正常,我可以在我的GAE控制台中确认它。在我的Stackdriver日志中,我还可以看到CRON作业正在运行。
但是,在我再次部署应用程序后,我对cron.xml
文件所做的所有更改都不适用。我甚至删除了cron.xml
文件并再次部署了我的应用程序 - 没有效果。我不希望CRON工作超过任何配额。
cron.xml
文件取消CRON作业有什么问题?在某些情况下(特别是根据我的经验,多服务应用程序),只需上传应用程序/服务,就不会自动更新cron配置。最有可能的原因是cron配置不是服务级配置,它是应用级配置,独立于特定服务。
这就是为什么有专门用于部署cron配置的命令的原因。来自Uploading cron jobs:
选项2:仅上传您的cron更新
要仅更新cron配置而不上载应用程序的其余部分,请运行以下命令:
./appengine-java-sdk/bin/appcfg.sh update_cron [YOUR_APP_DIR]
在下面你有Deleting all cron jobs - 基本上上传一个空的cron配置文件(而不是只删除文件):
要删除所有cron作业:
- 编辑cron.xml文件的内容为:
<?xml version="1.0" encoding="UTF-8"?> <cronentries/>
- Upload the
cron.xml
file to App Engine。
现在有了gcloud工具,它有点different:
1 - 设置合适的项目:
gcloud config set project my-project
2 - 创建一个空的cron.yaml
3 - 上传新的cron文件
gcloud app deploy cron.yaml