标签: procfile

什么是Procfile?和Web和工人

是否有必要在Procfile中提供"工人"信息?如果是,那么实际上是什么 - 找不到关于此的好文章.我希望你们有想法.我已经在Procfile中添加了web:node server/server.js的详细信息.任何帮助,将不胜感激!

heroku mongodb node.js procfile

46
推荐指数
2
解决办法
6万
查看次数

找不到Procfile,Heroku python应用程序

执行heroku python演示并遇到Procfile问题.我把它放在正确的目录中(与requirements.txt,venv /和app.py一起),文件是"Procfile",没有.txt扩展名(正如其他问题所示).

Procfile的内容是:

web: python app.py
Run Code Online (Sandbox Code Playgroud)

尽管如此,我在运行"foreman start"时仍然遇到"Procfile不存在"错误.在我的智慧结束时,任何建议将不胜感激.

干杯,塞恩

编辑:使用echo命令而不是编辑器重新创建"Procfile" -

echo "web: python app.py" > Procfile
Run Code Online (Sandbox Code Playgroud)

之后工作,谢谢.

python heroku procfile

19
推荐指数
2
解决办法
1万
查看次数

Procfile可以有评论吗?

是否可以在Procfile中添加注释?如果是这样,语法是什么?

不确定这是否重要,但我在Heroku上主持.

heroku procfile

19
推荐指数
2
解决办法
4280
查看次数

Procfile启动进程在自己的工作目录中

我有这个简单的Procfile

web: myapp
Run Code Online (Sandbox Code Playgroud)

myapp在路径中,但进程主目录应为./directory/.如何在Procfile中指定要启动进程的位置?

https://github.com/ddollar/foreman/pull/101没有帮助,因为它假设,这个工作目录对于Procfile指定的每个进程应该是相同的

foreman procfile

18
推荐指数
2
解决办法
8237
查看次数

在同一个Heroku app/dyno上部署后端和前端

在我的项目的根目录,我有一个frontendbackend文件夹.两个文件夹都包含package.json列出其依赖项的文件夹.npm install在部署应用程序时,如何告诉Heroku 在两个文件夹上运行?Heroku似乎希望package.json默认情况下只有一个文件.我是否必须使用Procfile执行某些操作?Heroku文档似乎没有说明我的具体问题.

谢谢您的帮助!

deployment heroku node.js procfile dyno

15
推荐指数
3
解决办法
4725
查看次数

如何让Heroku识别子目录(而不是root)中的yarn.lock或package.json

我有一个使用React,Webpack和Yarn的Rails应用程序用于客户端.我在/ client目录中拥有与客户端相关的所有内容.这包括我的yarn.lock和package.json文件.我有一个proc文件,cds到/ client并正确运行yarn run build.这在本地工作,没有错误.但是,当我部署/推送到Heroku时,我的推送被拒绝,我收到以下错误:

remote:        cd client && yarn run build:production
remote:        sh: 1: yarn: not found
remote:        rake aborted!
remote:        Command failed with status (127): [cd client && yarn run build:production...]
Run Code Online (Sandbox Code Playgroud)

这对我说的是Heroku无法在根级别找到yarn.lock文件.如何让Heroku使用yarn.lock我/ client目录下的文件?

或者这个错误的原因是完全不同的?

ruby-on-rails heroku procfile yarnpkg

11
推荐指数
2
解决办法
3116
查看次数

你如何在一个Heroku dyno上运行多个DelayedJob工作者?

我无法让我的dynos运行多个延迟的工作进程.

我的Procfile看起来像这样:

worker: bundle exec script/delayed_job -n 3 start
Run Code Online (Sandbox Code Playgroud)

我的delayed_job脚本是gem提供的默认值:

#!/usr/bin/env ruby

require File.expand_path(File.join(File.dirname(__FILE__), '..', 'config', 'environment'))
require 'delayed/command'
Delayed::Command.new(ARGV).daemonize
Run Code Online (Sandbox Code Playgroud)

当我尝试在本地或在Heroku dyno上运行时,它会静静地退出,我无法分辨出发生了什么.

foreman start
16:09:09 worker.1 | started with pid 75417
16:09:15 worker.1 | exited with code 0
16:09:15 system   | sending SIGTERM to all processes
SIGTERM received
Run Code Online (Sandbox Code Playgroud)

任何有关如何调试问题的帮助或关于在单个dyno上运行多个工作人员的其他方法的建议将非常感激.

ruby-on-rails heroku delayed-job foreman procfile

10
推荐指数
2
解决办法
1789
查看次数

Foreman产生的杀戮过程

我有以下内容Procfile:

web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb
redis: bundle exec redis-server /usr/local/etc/redis.conf
worker: bundle exec sidekiq
Run Code Online (Sandbox Code Playgroud)

跑步$ foreman start启动Unicorn,Redis和Sidekiq,但我应该如何再次阻止他们?

杀死福尔曼让所有三个人都离开了.我可以看到这个使用ps:

$ ps aux | grep redis | grep -v grep
    me           61560   0.0  0.0  2506784   1740 s000  S+    9:36am   0:01.28 redis-server /usr/local/etc/redis.conf
$ ps aux | grep sidekiq  | grep -v grep
    me           61561   0.0  1.0  2683796 173284 s000  S+    9:36am   0:14.18 sidekiq 2.17.0 pathways [0 of 25 busy]
$ ps aux …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-3 foreman procfile

9
推荐指数
1
解决办法
8210
查看次数

django在heroku上部署单独的web和api端点

我有一个带有相关API和数据库的Web应用程序.

我想在API中使用相同的Django模型,但是它由不同的进程单独提供,因此我可以独立扩展它.

我也不需要API来提供静态资产或任何其他视图.

复杂的是我定义的路由有API,webapp共享根域:

http://domain.com/normal/application/stuff
http://domain.com/api/different/stuff
Run Code Online (Sandbox Code Playgroud)

另外我的Django应用程序依赖于彼此的模型和常量(所以两个不同的settings.py文件有不同INSTALLED_APPS并不能完全解决它).

我想有一种方法是我可以在我的Procfile中定义不同的进程,它只是启动Django应用程序,但是在其中一个进程中它可能有不同的环境变量?我不认为我可以改变每个Proc的环境heroku:config,我认为它实际上必须是Procfile中的指令.

任何人都有这方面的经验或见解吗?谢谢!

python django heroku procfile

9
推荐指数
1
解决办法
427
查看次数

Sinatra错误(bundler:无法加载命令:rackup)

在将模块化Sinatra应用程序部署到Heroku时,我不断收到此错误:

bundler: failed to load command: rackup (/app/vendor/bundle/ruby/2.4.0/bin/rackup)

我试过调整我的config.ru和我的Procfile,没有成功.以下是config.ru的内容:

$LOAD_PATH.unshift(::File.expand_path('lib', ::File.dirname(__FILE__)))

require_relative 'lib/app'
run Tir::App
Run Code Online (Sandbox Code Playgroud)

Procfile:

web: bundle exec rackup config.ru -p $PORT
Run Code Online (Sandbox Code Playgroud)

LIB/app.rb:

require 'sinatra/base'
module Tir
 class App < Sinatra::Base
  # code
 end
end 
Run Code Online (Sandbox Code Playgroud)

请指出我正确的方向.

PS.我可以部署应用程序,但在尝试使用Pony gem发送电子邮件时会出现上述错误.

编辑20.07.2018: 我已经调试了这个问题并找到导致崩溃的线路:

https://gist.github.com/abbottjam/248edfd50f094f99b3bf5b1f995fd290#file-static-rb-L15

错误消息现在说:

内部服务器错误:没有将Array隐式转换为String

所以它必须是configure_options下面方法中的代码块.仍然不知道数组 - >字符串转换应该在哪里发生.谢谢.

config heroku sinatra rackup procfile

9
推荐指数
1
解决办法
295
查看次数