我试图将一个非常简单的机器人部署到 heroku,但我无法设置工作器 dyno,因为它没有显示在仪表板上,即使我有一个只有一行的 Procfile:worker: node app.js
我打算使用 Heroku 托管它。但由于配置文件的问题,它不起作用。
这是我的 Procfile
-> web: gunicorn wsgi:app
Run Code Online (Sandbox Code Playgroud)
我试过这些东西。
->web : gunicorn wsgi.py
->web : gunicorn <myproject>.wsgi --log-file-
Run Code Online (Sandbox Code Playgroud)
我的 wsgi.py 代码
"""
WSGI config for config project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/
"""
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
application = get_wsgi_application()
from whitenoise.django import DjangoWhiteNoise
application = DjangoWhiteNoise(application)
Run Code Online (Sandbox Code Playgroud)
这是我的 Heroku 日志
使用命令
gunicorn wsgi:app2019-09-13T06:06:27.409894+00:00 heroku[web.1]启动进程:状态从开始变为崩溃 2019-09-13T06:06:27.388714+00:00 heroku[web.1]:进程退出状态 3 2019-09-13T06:06:27.176179+00:00 app[web.1]: [2019-09-13 …
我想我的运行rails server和slackbot在两个进程使用Procfile和gem 'foreman'。
但是当我使用foreman start机器人时,它只运行服务器并没有启动。我尝试删除 line bot 并尝试仅运行 web,但在这种情况下,我的服务器也没有启动它只显示started with pid 1502. 但是当我从另一个终端启动它时,rails s它启动没有问题。我用谷歌搜索了很多,似乎无法找到解决方案。非常感谢帮助。谢谢。
这是我的 Procfile :
web: bundle exec rails server -p $PORT
bot: rails runner -e development slackbot/slack.rb
Run Code Online (Sandbox Code Playgroud) 我需要访问 Android 内核模块中的一些 proc 文件。基本上我需要 cat 命令中显示的信息,例如cat /proc/uptime. 但是我需要以编程方式进行。
我尝试使用proc_fs函数,但对我来说有点模糊,通常示例是创建一个 proc 文件然后读取它,就是这样。我需要实际使用 proc 文件中的数据。
我也尝试过fopen,但它似乎不适用于模块。
我怎样才能做到这一点?我真的是新手。我正在研究金鱼 Android 内核。
谢谢。
我有一个Flask应用程序,我已经嵌入了一个Bokeh服务器图,我无法让他们都在Heroku上工作.我正在尝试在Heorku上部署,我可以从Procfile启动Bokeh应用程序或Flask应用程序,但不能同时启动它们.因此,要么显示Flask提供的内容,要么显示Bokeh图.
当我在Procfile中使用以下行部署时,Bokeh内容显示在网页上,但Flask中没有任何内容:
web: bokeh serve --port=$PORT --host=bokehapp.herokuapp.com --host=* --address=0.0.0.0 --use-xheaders bokeh_script.py
Run Code Online (Sandbox Code Playgroud)
如果我使用以下内容部署,我只获取Flask内容,而不是Bokeh图:
web: gunicorn app:app
Run Code Online (Sandbox Code Playgroud)
在第二种情况下,我使用子进程在app.py Flask脚本中启动Bokeh:
bokeh_process = subprocess.Popen(
['bokeh', 'serve','--allow-websocket-origin=bokehapp.herokuapp.com','--log-level=debug','standard_way_with_curdoc.py'], stdout=subprocess.PIPE)
Run Code Online (Sandbox Code Playgroud)
Heroku日志不显示任何错误.
我还尝试了第三种选择:
web: bokeh serve --port=$PORT --host=bokehapp.herokuapp.com --host=* --address=0.0.0.0 --use-xheaders bokeh_script.py
web: gunicorn app:app
Run Code Online (Sandbox Code Playgroud)
这只显示了Flask的内容.似乎只考虑了第二名工人.
所以,我的问题是如何修改Procfile来考虑这两个进程?或者也许我一起接近这个错误?您可以提供的任何线索将不胜感激.
我正在尝试将自定义 Procfile 添加到我的 Django elastic beanstalk 环境,但在部署过程中收到以下错误:
022/06/02 08:14:22.827519 [INFO] 从 Procfile 生成 rsyslog 配置
2022/06/02 08:14:22.827557 [错误] 无法生成 rsyslog 文件,并出现错误 Procfile 无法解析
2022/06/02 08:14:22.827564 [错误] 执行命令 [app-deploy] - [GetToggleForceRotate] 期间发生错误。停止运行该命令。错误:无法生成 rsyslog 文件,并出现错误 Procfile 无法解析
我正在使用的 Procfile 如下:
web: gunicorn --bind 127.0.0.1:8000 --workers=1 --threads=10 myapp.wsgi:application
Run Code Online (Sandbox Code Playgroud)
我之前在 .ebextentions 配置中使用的选项是
option_settings:
aws:elasticbeanstalk:environment:proxy:staticfiles:
/static: static
aws:elasticbeanstalk:container:python:
WSGIPath: myapp.wsgi:application
NumProcesses: 1
NumThreads: 10
Run Code Online (Sandbox Code Playgroud)
并且运行成功。有什么猜测吗?谢谢
我一直在关注https://devcenter.heroku.com/articles/django#declare-process-types-with-procfile上的教程.它顺利进行,除了困扰我的一件事.
在开始领班后,我应该看到以下内容:
$ foreman start
2013-04-03 16:11:22 [8469] [INFO] Starting gunicorn 0.17.2
2013-04-03 16:11:22 [8469] [INFO] Listening at: http://127.0.0.1:8000 (8469)
Run Code Online (Sandbox Code Playgroud)
但是,我得到:
Starting gunicorn 17.5
Listening at: http://0.0.0.0:5000
Run Code Online (Sandbox Code Playgroud)
如何更改它以便它只侦听我的本地计算机(即127.0.0.1)?
我的Procfile仅包含
web: gunicorn hellodjango.wsgi
Run Code Online (Sandbox Code Playgroud)
谢谢!
这就是我的目录结构(我只包括相关部分):
my_git_root/
??? Procfile
??? README.md
??? requirements.txt
??? my_django_project
??? app1
? ??? admin.py
? ??? __init__.py
? ??? models.py
? ??? tests.py
? ??? urls.py
? ??? views.py
??? fabfile.py
??? app2
? ??? __init__.py
? ??? models.py
? ??? templates
? ??? tests.py
? ??? views.py
??? manage.py
??? my_django_project
??? __init__.py
??? settings
? ??? base.py
? ??? __init__.py
? ??? local.py
? ??? production.py
? ??? staging.py
??? static
??? urls.py
??? wsgi.py
Run Code Online (Sandbox Code Playgroud)
我正在使用Foreman运行我的Rails 4应用程序,并且得到重复的输出。Web显示与Log几乎相同的信息。
我可以运行领班并只隐藏Web输出吗?

我的procfile:
web: bundle exec passenger start -p $PORT --max-pool-size 3
log: tail -f ./log/development.log
Run Code Online (Sandbox Code Playgroud) 我刚刚通过运行创建了一个Luminus应用程序:
lein new luminus foobar
Run Code Online (Sandbox Code Playgroud)
当我尝试像工头一样运行它时:
foreman start
Run Code Online (Sandbox Code Playgroud)
文档描述的方式,我得到这个错误:
Error: Could not find or load main class clojure.main
Run Code Online (Sandbox Code Playgroud)
这也是我从Heroku得到的同样的错误.模板创建的Procfile包含:
web: java $JVM_OPTS -cp target/foobar.jar clojure.main -m foobar.core
Run Code Online (Sandbox Code Playgroud)
发生了什么,我该如何解决?