通过jenkins运行SQL导出(备份),我定期收到 “错误:(gcloud.sql.export.sql)HTTP错误409:操作失败,因为正在进行另一项操作。错误:(gcloud.sql.operations.wait)参数OPERATION [OPERATION ...]:必须指定。< / p>
我正在尝试确定在哪里可以看到导致此操作失败的作业
ive试图将gcloud sql操作wait --timeout扩展到1600 没有运气
gcloud sql操作wait --timeout = 1600
答案 0 :(得分:4)
要等待操作,您需要指定操作的ID,如@PYB所述。您可以像在Jenkins脚本中那样以编程方式进行操作:
services.Configure<MyLibraryConfiguration>(options => this.Configuration.GetSection("SectionName").Bind(options));
services.AddScoped<MyService>();
答案 1 :(得分:0)
这里有2个错误可能会影响您。第一个是在前一个操作完成之前开始管理操作。阅读有关SQL的“最佳实践”文档将在以下方面为您提供帮助: https://cloud.google.com/sql/docs/mysql/best-practices#admin 具体来说,在“操作”选项卡中,您可以看到正在运行的操作。
最后,命令“ gcloud sql operation wait --timeout = 1600”中缺少[OPERATION]参数。请参阅以下命令中的文档:https://cloud.google.com/sdk/gcloud/reference/sql/operations/wait
OPERATION是正在运行的操作的名称,如果您希望列出所有实例操作以获取正确的名称,则可以使用以下命令: https://cloud.google.com/sdk/gcloud/reference/sql/operations/list。
操作名称是十六进制格式的36个字符的字符串,因此您的命令应如下所示:
“ gcloud sql操作等待操作aaaaaaaa-0000-0000-0000-000000000000 --timeout = 1600”
欢呼
答案 2 :(得分:0)
我在长时间运行的导入过程中遇到了同样的问题:
gcloud sql import sql "mycompany-mysql-1" $DB_BACKUP_PATH --database=$DB_NAME -q
这是否真的意味着如果导入运行一个小时,我无法创建数据库 在那段时间内?真的吗???
gcloud sql databases create $DB_NAME --instance="mycompany-mysql-1", -i "mycompany-mysql-1" --async "
如果您在 CI/CD 中使用 GCloud,这是一个大问题!有人有简单的解决方案吗?
到目前为止我的想法:
但这意味着每当 CI/CD 中的两个任务想要同时执行多个任务时,一个任务将失败或我必须等待。非常难过,如果我没记错的话。