无法 运行 Cloudfoundry 任务 - 意外响应 404

Cannot run Cloudfoundry Task - Unexpected Response 404

在我的应用程序通过 cf 成功推送后,我通常需要手动 ssh-log 到容器并执行几个 PHP 脚本来清除和预热我的缓存,可能执行一些数据库架构更新等。

今天我发现了 Cloudfoundry Tasks,它似乎提供了一种很好的方法来完成这类事情,我想测试它是否可以将它集成到我的构建和部署脚本中。

所以使用 cf 登录,成功连接到正确的组织和 space,应用程序已被推送并且是 运行 我尝试了这个命令:

cf run-task MYAPP "bin/console doctrine:schema:update --dump-sql --env=prod" --name dumpsql

(尝试了几个文件夹更改,如 app/bin/console 等)

这是输出:

正在组织 MYORG / space MYSPACE 中为应用程序 MYAPP 创建任务,作为 me@myemail...<br> 意外响应<br> 响应代码:404 失败

使用 CF CLI:6.32.0

cf logs ArcticTenTestBackend --recent 不输出任何内容(这可能是因为我启用了一个 ELK 实例进行日志记录 - 因为我想服务连接到 ELK 以查找日志我发现该服务-connector cf 插件不见了,我会为此开一张新票)。

为此创建了新问题:https://github.com/cloudfoundry/cli/issues/1242

这不是 CF CLI 问题。 Swisscom Application Cloud 尚不支持 Cloud Foundry 任务。这解释了您当前收到的 404。我们将在即将发布的 Swisscom Application Cloud 版本中公开 Cloud Foundry 的这一功能。

与此同时,也许您可​​以找到一种在应用程序启动时执行一次性任务(缓存预热、数据库迁移)的方法。

正如@Mathis Kretz 所提到的,Swisscom 已开始启用 cf run-task,因为此问题已发布。他们于 2018 年 11 月 22 日发送电子邮件宣布该功能。

正如在您的链接文档中所讨论的,您使用以下命令来管理 tasks

cf tasks [APP_NAME]
cf run-task [APP_NAME] [COMMAND]
cf terminate-task [APP_NAME] [TASK_ID]