【问题标题】:why does the 'cf run-task' command not work on swisscom cloudfoundry为什么“cf run-task”命令在 swisscom cloudfoundry 上不起作用
【发布时间】:2018-04-18 22:12:26
【问题描述】:

我正在尝试让“cf run-task”在 swisscom cloudfoundry 实例上工作。但即使是最简单的命令也会失败:

$ cf run-task hostapp "echo SUCCESS" --name task1
Creating task for app hostapp in org xxx / space yyy as xxx@yyy.com...
Unexpected Response
Response Code: 404
FAILED

cf api 2.96.0 版尚不支持run-task 吗? (这似乎是 swisscom env 上当前安装的版本)

【问题讨论】:

标签: cloud-foundry swisscomdev


【解决方案1】:

Swisscom Application Cloud 尚未激活cf run-task 功能。目前,最好使用cf ssh,然后在容器中手动运行命令,或者将这些任务作为幂等操作包含在应用的启动脚本中。

cf run-task 将在 Application Cloud 的未来版本中启用。

【讨论】:

  • 真是不幸,一方面建议不要使用ssh 更新数据库(stackoverflow.com/questions/47061859/…),但另一方面run-task 已禁用。如果我有大量数据用于数据库的初始加载,那么在应用程序启动时初始化数据库确实不是一个好主意……有没有计划在短期内激活该功能?
  • @domi GB 中的“大量数据”和记录数是什么?你使用 MariaDB Ent 吗?
  • @FyodorGlebov 这取决于我们为什么样的环境进行设置,但它可以达到 1G,未来可能会更高。在应用程序启动时执行此操作也意味着我必须将所有这些数据与应用程序一起打包,并且永远打包,即使在旧环境中我不再需要它。没有可用的“运行任务”也意味着 Swisscom 环境与我们的其他环境不兼容。 (关键)我们必须为 Swisscom 实施不同的脚本解决方案。
  • @domi 谢谢。你的数据是什么格式的? SQL转储? YML?
  • @domi 是初始加载吗?
【解决方案2】:

正如@mastertinner 所述,Swisscom 已启用cf run-task 作为其应用程序云产品的一部分。他们于 2018 年 11 月 22 日发送电子邮件讨论该版本,链接到 CloudFoundry 官方文档:https://docs.cloudfoundry.org/devguide/using-tasks.html

您可以使用以下命令:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    • 2018-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多