问题标签 [foreman]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Rails API 应用程序:(无 MethodError)当我运行工头启动时
我刚刚创建了一个新的 Rails API 应用程序,我第一次尝试运行它。我安装了工头 gem,我正在使用命令
启动服务器,但我收到这些错误:
我已经尝试更新 gemset 并重新评估终端等。
然而,没有任何工作。想知道是否有人可以提供有关如何继续诊断此错误来源的想法
谢谢
编辑这里是 ApplicationController.rb 的内容
宝石文件:
错误指向此文件中的第 8 行:wrap_parameters.rb
ubuntu - Foreman start 在 ubuntu 10.04 中抛出 .profile not found 错误
我正在尝试将工头用于heroku。这是我的设置中存在的内容:
- 使用 Ubuntu 10.04 机器安装工头
- 安装的 Ruby 版本是:1.9.3-p362
- 安装的 Rubygems 版本为:1.8.24
我可以触发一个工作正常的示例 test.rb 文件。下面的代码:
/li>使用代码创建了一个 Gemfile:
/li>使用代码创建了一个 Procfile: web: bundle exec ruby test.rb -p $PORT
发布工头开始 - 失败如下:
/li>
我还安装了特定版本的工头(0.60.2),它在启动时显示与上述相同的错误。
.profile 文件位于我机器的以下位置:
其中包含: # ~/.profile:由兼容 Bourne 的登录 shell 执行。
这可能是因为路径设置错误吗?是什么阻止工头启动?
- 拉梅什
ruby-on-rails - 可以注释掉 `wrap_parameters` 初始化程序吗?
我在使用 Foreman 和 Thin 启动 Rails-API 应用程序时遇到此错误。
在花了几个小时尝试调试它之后,我没有成功,所以最终决定尝试破解:我initializers/wrap_parameters.rb
在项目的文件中注释掉了这一行,如下所示:
这似乎解决了当前的问题,瘦服务器启动并运行。但是,我不确定这会对应用程序产生什么影响。在使用 Rabl gem 服务 JSON 的 Rails-API 应用程序中这样做是否安全?
我还参考了Agile Web Development with Rails (Ed. 4) 的 Active Resources 部分。
ruby - 工头从手动路径开始
我正在尝试在 heroku 上运行工头。这是一个常见的错误,但是,我仍然没有找到解决方案。这里显然缺少一条路径:
"/c/ Program Files /ruby-1.9.2/bin/foreman: "C:/ Program : bad interpreter: no such file or directory
我的问题是:有没有办法通过手动添加整个路径来避免这个错误?或者我应该去哪里改变它?谢谢你。
jekyll - 同时运行多个 jekyll 应用
我想知道是否可以同时运行多个 jekyll 应用程序。我已经安装了工头,但是当另一个已经在运行时,它似乎无法更改应用程序端口。
目前我必须在 Procfile 中手动设置 jekyll 端口
无论如何可以自动执行此操作吗?
heroku - 具有自定义 buildpack 的工头
如果我使用的是自定义 buildpack,如何让我的 heroku 应用程序与工头一起在本地运行?我正在使用 nginx/php-fpm 构建包(https://github.com/travisj/heroku-buildpack-nginx-php),它安装 php 和 nginx,然后启动所有进程。
我如何让它与工头一起运行?我知道没有 --buildpack 选项。
ruby-on-rails - Rails:如何调试本地主机不响应延迟作业/工头
根据 Heroku 的建议,我有一个创建新的 activerecord 记录的任务,我最近使用 delay_job 和 foreman 将其移动到后台任务
有时这可以正常工作,但有时会导致浏览器中的 Rails 应用程序停止响应。
此时我可以从数据库中看到所有延迟的作业都已完成,并且所有新记录都已创建。
然而,当我终止进程时,我得到了另外 11,200 行的终端输出。这主要包括 Web 进程在模型上执行两个方法,这两个方法都涉及对数据库的调用:
还有一些 INSERT 语句,我确信它们已经进入数据库,因为在终止进程之前/之后记录的数量没有改变
这是我的Procfile:
网络:捆绑 exec rails 服务器瘦 -p $PORT -e $RACK_ENV
工人:捆绑执行耙工作:工作
所以感觉就像我得到一个“堆栈溢出”(哇)。你能解释一下吗:
- 一般是怎么回事?
- 在 Rails 中,这种“堆栈溢出”发生在哪里
- 这些事情是在我按下“Ctrl + C”之后实际发生的,还是当时只是被打印到终端上?
- 这可能是什么原因造成的?
- 我该如何调试/修复它?
更新
看起来后台任务正在将某些任务分配给 Web 进程,但直到浏览器被“刺激”后才会执行。在某些情况下,它们都会执行,但如果太多,应用程序就会崩溃。关于可能导致这种情况的任何想法?
更新
我尝试在两个单独的窗口中运行 Web 和工作进程。
在这种情况下,我无法复制浏览器挂起的问题,并且在每种情况下工作进程都正确完成。
然而,我确实做了一个有趣的观察,如果我不触摸浏览器,那么 Web 窗口中不会出现任何输出。但是,如果我确实触摸了浏览器,那么此时工作进程正在执行的数千行代码会出现在 Web 窗口中。
这是正常的吗?这是否说明了问题可能是什么?
更新
在我终止进程后终端输出的底部显示“已终止:9”
07:45:21 系统 | 向所有进程发送 SIGKILL
击杀:9
这个 9 到底指的是什么?这不寻常吗?
更新
我在用:
- 延迟作业 3.0.4
- 延迟作业活动记录 0.3.3
- 延迟作业网络 1.1.2
- 工头 0.60.2
解析度
感谢@Justin 在下面的回答(以及这个相关的问题)。似乎 Ruby 默认会缓冲标准输出,并且该缓冲区溢出,导致应用程序停止响应。我$stdout.sync = true
在 config/environments/development.rb 的顶部添加了,问题似乎已经消失了。
ruby-on-rails - 当我使用已编译的 Ruby 而不是 RVM 时,是什么导致 Encoding::ConverterNotFoundError?
我正在构建一个 Mac OS X 应用程序,并且我在应用程序中包含了 Ruby。为此,我在应用程序中包含了 Ruby。
当我在本地机器上测试我的应用程序时,它可以在我的 RVM 控制的 Ruby 上正常工作
当我通过更改环境变量来使用已编译的 Ruby 时,出现以下错误(工头加载环境变量)
ruby-on-rails - 工头开发与生产(导轨)
在生产与开发中表现不同的“工头方式”是什么?那就是我们希望工头开始在 dev 中启动一堆东西,但是在 heroku 生产中我们不需要它来启动(例如)solr。
ruby - 使用 Foreman 启动位于不同目录的 Rack App
我有一个成功运行多个进程的 Procfile 设置:
我需要再添加一个进程——一个位于我机器上不同目录中的 Sinatra 应用程序。如果我 cd 到目录,我可以从终端启动它:
我可以使用终端从不同的目录启动它:
但是我应该如何使用工头来做到这一点。我尝试添加以下内容,但它默默地失败了:
这甚至可能吗?如果是这样,怎么办?