首页 > 解决方案 > 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中,但我不确定这是否相关。

标签: dockerheroku

解决方案


您需要在部署后分配一个测功机,如本文所示:

heroku ps:scale worker=1

推荐阅读