问题标签 [thin]

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.

0 投票
2 回答
7295 浏览

ruby-on-rails-3 - Mac 上的开发模式是瘦还是独角兽?

我很震惊这个问题还没有被问到,但我发誓我到处看了。在开发模式下运行 Rails 3 时,thin 是否比独角兽有优势,反之亦然?

0 投票
2 回答
1629 浏览

ruby - EventMachine UNIX 套接字连接:如何在 Thin 作为服务运行时使用它们?

EventMachine.connect_unix_domain在将 Thin 作为服务运行时如何使用(使用下面的初始化脚本(摘录)和配置)。下面的代码就是问题所在(我得到一个eventmachine not initialized: evma_connect_to_unix_server错误)。第二个代码示例有效,但不允许我守护瘦(我不认为)。Thin 是否还没有正在运行的 EventMachine 实例?

更新:奇怪的是:停止服务器(使用service thin stop),似乎进入 config.ru 文件并运行应用程序(所以它可以工作,直到stop命令超时并终止进程)。当薄停止可能导致这种行为时会发生什么?

有问题的代码

工作代码

初始化脚本摘录

精简配置

0 投票
1 回答
1568 浏览

oracle - 套接字异常:recv 使用 oracle 瘦驱动程序失败

我面临一个问题,我的测试套件随机失败并出现套接字异常

当一组给定的测试用例以特定顺序执行时,测试套件会因此异常而失败。启用 oracle jdbc 驱动程序日志后,我得到了上述错误日志。导致此错误的查询始终是“DROP SEQUENCE 查询”。此查询没有什么特别之处,因为它在执行流程中被触发了“n”次。

博客链接之一指出上述错误是因为服务器端套接字在客户端期望之前关闭。为了解决这一点的更多问题,我尝试分析 Oracle TNSListener 日志 - listener.log 文件,但无法收集太多信息,因为日志文件仅包含有关套接字 CONNECT 函数调用的信息。

  1. 除了博客链接提到的错误之外,上述错误的可能原因是什么?

  2. 如何配置 Oracle TNSListener 以提供有关套接字通信的更多详细信息?例如,触发服务器套接字关闭事件时的跟踪信息。

如果有人能指出此错误的可能原因或提供更多信息以帮助我根据上述两点进一步解决此问题,我将不胜感激

0 投票
1 回答
969 浏览

heroku - heroku,瘦机架 1.1.0,gemfile 需要机架 1.0.1

我的 ror 应用程序在 rails 2.3.5(需要机架 1.0.1)上运行,heroku 上的 Thin 默认激活机架 1.1.0

并抛出错误:

我安装了 bundler 并开发了 Gemfile.lock :

请帮我在heroku上部署它......

0 投票
3 回答
4886 浏览

ruby - Sinatra 会话未按预期持续

我正在尝试使用 Sinatra 中的重定向和会话在站点周围传递一些数据。这是一个简化的示例,使用 PrettyPrint 进行调试:

查看 Thin 的输出,我看到:

我在文档中看到的所有内容都表明这应该可以正常工作。事实上,/redir即使我直接请求它,我也从来没有得到任何会话数据,并且会话会按照您对后续请求的期望持续存在/

想法?

0 投票
3 回答
679 浏览

ruby-on-rails - 运行“rails server thin”时有没有办法减少冗长?我只想查看记录器调试消息

有没有办法减少你在运行“rails server thin”时看到的垃圾量?现在,我看到了所有的 sql 调用和缓存调用,但我只想专注于调试/记录器消息。

0 投票
4 回答
3470 浏览

ruby - 如何在瘦控制台窗口中查看调试代码?

在 Mongrel 中,我们可以看到任何 ruby​​ 调试代码。装瘦后做thin start。我在控制台窗口上看不到任何调试代码。

这是正常的吗?

我们是否应该tail -f log/development.log在新的控制台窗口中使用来查看调试代码?

0 投票
3 回答
2297 浏览

ruby-on-rails - 瘦服务器进程以 100% CPU 挂起,似乎是一个正则表达式循环。我在哪里可以获得更多信息来调试?

我有一个 gdb 回溯,它产生了这个:

我可以从中推断出:

  • 它挂在对类似 执行的正则表达式上52%%20off|utmcmd=email|utmctr=View%20this|utmcct=52%%20off,这似乎是查询字符串的混蛋形式(关于为什么它是管道而不是&符号的任何见解?)。不过,我不知道他们正在寻找的正则表达式是什么(我能找到什么方法吗?)。
  • 它通过 Thin/eventmachine 到 rails 堆栈就好了,因为在#42,它似乎正在初始化一个event_callback_wrapper,我认为这意味着它正在将它交给 Rack 的下一步。

还有一件奇怪的事:

  • netstat不列出任何未完成的连接,并且nginx日志不显示任何请求,成功、不成功或已放弃,查询字符串隐含在回溯中显示的字符串中。

我尝试过的其他事情:

我已经尝试进入 gdb 并进行了很多次,它只是以一种循环的方式进行。我也尝试过使用hijack,但我找不到任何有用的事情要做。

我不知道该怎么做或是否可能有用的事情:

  • 获取实际的 ruby​​ 代码堆栈。
  • 弄清楚什么在调用正则表达式。
  • 确定正则表达式的实际含义以及与之匹配的内容。

任何其他建议或诸如此类的东西将不胜感激。

0 投票
2 回答
893 浏览

ruby-on-rails - 使用 Thin 和 Rails 3.0 时如何在终端窗口上显示应用程序请求

我开始在开发中使用 Thin 而不是 WEBrick(Rails 版本 3.0.9)

使用 WEBbrick,我会在服务器运行时在终端窗口中看到所有列出的请求(以及对数据库的调用)。

我怎么能瘦呢?当我做thin start我看到的唯一输出是:

谢谢!

0 投票
2 回答
2279 浏览

ruby - Ruby 中的高负载 RESTful API(同步/异步实现)

我正在努力实现一个应该返回 JSON 响应并且应该维持非常高负载的 RESTful API。API 的“读取”部分将产生最高负载,API 的“写入”部分将产生极少的负载。我的第一次尝试是使用 nodejs 编写整个 API。我几乎做到了,但在 javascript 和 ruby​​ 之间面临非常高的模型和逻辑重复,因为 API 是更大系统的一部分。我尝试将所有逻辑移动到后端(mySql),但这个想法变得更加丑陋。我的第二次尝试是在 Ruby 生态系统中编写 API,以便在系统的所有部分之间共享模型/逻辑和测试。

我尝试单独使用 Cramp 和 Goliath,但所有这些异步的东西确实使 API 实现变得复杂。我只需要 2 个异步读取 url,因为它们会产生最高的负载,并且通过一路异步,我被迫以异步方式实现 API 的其余部分,这并没有增加任何价值。

我目前的尝试是混合:使用 Thin/Sinatra/Cramp 鸡尾酒。我在 Ruby 代码中实例化 Thin rack 句柄,并使用 rack builder 我在 Sinatra 和 Cramp 之间拆分 API,它采用同步实现,Cramp 以异步方式实现 2 个 url。

这是一个好方法吗?或者将 Sinatra 和 Cramp 放在一个 Web 服务器(Thin)中会因为某种原因给我带来更多麻烦?

更新: 我正在尝试将 Sinatra 与 rack/fiber_pool 和 em_mysql2 混合的解决方案。似乎我正在扼杀两个目标 - 使 API 与同步实现异步。但是我遇到了一个我认为很快就会修复的错误。

会不会有这样的问题?