草庐IT

ruby - 使用 thin & eventmachine 的 HTTP 流式传输

我在玩EM,实现流式和并发。我在流式传输时遇到问题...我运行以下机架应用程序https://gist.github.com/1394840使用$rackup-sthin-p3000async_app.ru在使用$ab-c10-n20http://localhost:3000/进行测试时,该应用程序似乎接受了并行请求。太棒了!我希望它能同时实现流式传输。当我在Firefox8中测试它时,它工作得很好。并使用$curl-ihttp://localhost:3000/,结果也按预期流式传输!但后来在IE和Chrome中测试时,流式传输失败,即三行在请求触发后5秒才一起出现...我怀疑是不是

ruby - Datamapper 在通过 thin (sinatra) 访问时删除 sqlite 数据库

我正在使用sinatra+datamapper构建一个小型网络应用程序。该应用程序基于sqlite数据库,该数据库在table1中包含大量记录,而table2中没有任何记录。我的目录结构如下:total32-rw-r--r--1atmastaff189531Δεκ21:35application.rbdrwxr-xr-x6atmastaff20431Δεκ21:10archive/-rw-r--r--@1atmastaff8223Δεκ23:59config.rudrwxr-xr-x10atmastaff34031Δεκ21:38lib/drwxr-xr-x4atmastaff1362

ruby - 如何通过 Thin/nginx 访问事件机器 websockets?

我有一个事件机器websocket应用程序(使用em-websocketgem)并且运行良好。问题是我需要通过nginx使用端口80部署它(不能用tcp代理模块编译它)。是否可以使用指向瘦服务器的简单nginxproxy_pass并让瘦服务器将请求传递到我的websocket服务器? 最佳答案 据我了解,您无法使用proxy_pass代理websocket流量。SincewebsocketsaredoneoverHTTP1.1connections(wherethehandshakeandupgradearecompleted),y

ruby - undefined symbol : SSLv2_method when trying to run Thin webserver

我已经用rvm安装了OpenSSL(rvmpkginstallopenssl)然后rvmreinstall1.9.3--with-openssl-dir=$rvm_path/usr当我尝试运行瘦网络服务器时,出现以下错误:/home/ubuntu/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/x86_64-linux/openssl.so:undefinedsymbol:SSLv2_method-/home/ubuntu/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/x86_64-linux/openssl

ruby-on-rails - Chrome 使用 thin 在我的 Rails 应用程序上请求 "Select a Certificate"SSL

我有一个配置为仅使用SSL的Rails应用程序。我也有来自StartSSL的免费SSL证书。我使用thin作为我的网络服务器,命令如下:thinstart-p80&thinstart-p443--ssl--ssl-key-file./.ssl/sslkey.key--ssl-cert-file./.ssl/sslcert.cert&这在技术上是可行的——访问我网站的http版本会重定向到https版本。但是,当我访问该站点时,Chrome和Safari都会提示我从我的本地钥匙串(keychain)中“选择一个证书”以通过服务器进行验证。这种行为是不可取的。如何以不显示此对话框的方式使用

ruby - 在 eventmachine 中使用 thin 和 rainbows 异步 sinatra。为什么越瘦越快?

我刚刚启动了asyncsinatrabenchmarkbetweenthinandrainwbows使用eventmachine。有人可以解释为什么Thin比具有eventmachine和四个work_processes的Rainbows快吗?我也用一个work_processes尝试过,但结果没有改变。瘦还是更快。提前致谢弗朗切斯科 最佳答案 因为我还没有针对这个用例分析Rainbows。我建议埃里克如何增加支持,但还没有(我想现在已经一年多了:-/)有时间研究它。Thin是一个非常轻量级的服务器,开销可能更少。它也可能是异常的事

ruby-on-rails - 使用 thin 在 Rails 3 应用程序中指定环境

我正在使用thin在ec2上运行我的Rails应用程序。如何指定我的ec2实例是精简测试实例还是生产实例?thin真的是在生产环境中运行Rails应用程序的好选择吗?它不会是一个高容量的应用程序,至少一开始是这样。 最佳答案 您可以通过命令行上的-eproduction或YAML配置中的environment:production将所需的环境传递给thin-文件。 关于ruby-on-rails-使用thin在Rails3应用程序中指定环境,我们在StackOverflow上找到一个类似

ruby - 异步 IO 服务器 : Thin(Ruby) and Node. js。有什么不同吗?

我想清楚我对异步IO、非阻塞服务器的概念在处理Node.js时,很容易在概念下varexpress=require('express');varapp=express();app.get('/test',function(req,res){setTimeout(function(){console.log("sleepdoesn'tblock,andnowreturn");res.send('success');},2000);});varserver=app.listen(3000,function(){console.log('Listeningonport%d',server.a

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

在Mongrel中,我们可以看到任何ruby​​调试代码。安装thin并执行thinstart之后。我在控制台窗口中没有看到任何调试代码。这是正常的吗?我们是否应该在新的控制台窗口中使用tail-flog/development.log来查看调试代码? 最佳答案 您也可以尝试以这种方式启动您的服务器:railsserverthin它显示您的日志,至少在Rails3中是这样。 关于ruby-如何在Thin控制台窗口中查看调试代码?,我们在StackOverflow上找到一个类似的问题:

ruby - Thin 中的用户线程,Heroku 上的 Sinatra 应用程序

我有一组特定于我应用程序的每个用户的耗时操作,它们都封装在一个方法中(例如write_collections方法)。在这个方法中,程序与Facebook和MongoDB进行通信。我想在每个用户的线程中运行此方法。此线程在get'/'Sinatra路由中调用,但线程的结果(数据库中的状态)仅在get'/calculate'上需要。我的想法是在get'/'上运行线程并在get'/calculate'上加入它,以确保在计算之前所有用户的数据都已正确写入数据库用户启动的结果。举例说明:方法一get"/"do@user=@graph.get_object("me")data_thread=Thr