docker - Heroku 容器部署为工作人员未启动
问题描述
我已经设置了一个 Docker 容器以在 Heroku 中作为工作人员运行。我正在使用这个简单的 heroku.yml
build:
docker:
worker: Dockerfile
因为我希望它在发布期间运行 CMD。日志显示它已正确部署:
2019-03-05T15:13:02.000000+00:00 app[api]: Build started by user jmerelo@ugr.es
2019-03-05T15:14:29.000000+00:00 app[api]: Build succeeded
2019-03-05T15:14:29.292628+00:00 app[api]: Deploy f9dd7726 by user jmerelo@ugr.es
2019-03-05T15:14:29.292628+00:00 app[api]: Release v6 created by user jmerelo@ugr.es
仪表板中的 worker 选项卡正确显示了 Dockerfile 中的 CMD 指令:
worker /bin/sh -c ./create-user-rmq.sh\ \&\&\ celery\ -A\ PlatziTareas\ worker\ --loglevel\=debug\ \&\ ./cliente-con-celery.py
但是,它似乎没有运行;除了创建的版本之外,它没有在日志中显示任何内容。知道这里会发生什么吗?以防万一,环境变量也已设置,但它没有显示在这些情况下显示的任何输出。
注意:整个应用程序都在这个 repo中,但我不确定这是否相关。
解决方案
您需要在部署后分配一个测功机,如本文所示:
heroku ps:scale worker=1
推荐阅读
- c# - 当我使用自定义 ContractResolver 时,Swagger 无法正常工作
- java - 在类中找不到主要方法,在 NetBeans 但不是 CM 中工作
- php - 如何获取表A和表B中的记录?
- r - 如何将两个单词组合成一个字符串?
- android - Android - 材质编辑文本
- python-3.x - 将数据帧转换为 2 模式网络矩阵
- javascript - 我无法从我的 redux 商店中的数据库中设置我的初始数据
- javascript - 在 javascript 中强制执行函数参数类类型(为了类型安全和帮助浏览器 JIT/编译器优化)
- javascript - 在 onChangeText 中处理正则表达式电话号码的最佳方法反应本机
- javascript - 如何实现选中所有、取消选中所有并清除复选框列表的所有选项?