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

时间:2017-10-06 12:44:30

标签: cloudfoundry swisscomdev

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

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

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

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

(尝试使用app / bin / console等几个文件夹更改。)

这是输出:

Creating task for app MYAPP in org MYORG / space MYSPACE as me@myemail...
Unexpected Response
Response Code: 404 FAILED

使用CF CLI:6.32.0

cf logs ArcticTenTestBackend --recent没有输出任何内容(这可能就是这种情况,因为我已经启用了ELK实例进行日志记录 - 因为我想连接到ELK以查找我发现的服务连接器的日志cf插件已经不见了,我将打开一张新票。)

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

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

正如@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]