草庐IT

ruby - 使用 Ruby Daemons gem 检测停止

我正在使用rubydaemongem。想知道如何向停止操作添加一些额外的步骤?希望我能检测到停止被调用,并向其添加一些额外的代码。任何人都知道我如何才能做到这一点? 最佳答案 查看守护程序gem代码,它似乎没有用于此目的的明显扩展点。但是,我想知道(在守护进程中)您是否可以捕获守护进程在发生“停止”时发送的KILL/TERM信号...?trap("TERM")do#executeyourextracodehereend或者你可以安装一个at_exit钩子(Hook):-at_exitdo#executeyourextracodehe

ruby - 如何停止 jekyll 本地服务器

我刚刚在本地设置了我的第一个Jekyll项目。我已经让服务器运行,但我忘了使用自动标志。所以现在我想停止服务器并使用标志重新启动。但是,在我启动服务器后的命令行中,我没有得到新的提示,所以我无法输入任何新命令。我不太习惯命令行,所以我真的很感激知道我应该做什么!我正在使用MacOSX和terminal.app,如果有区别的话! 最佳答案 psaux|grepjekyll|awk'{print$2}'|xargskill-9 关于ruby-如何停止jekyll本地服务器,我们在StackO

ruby-on-rails - EC2 实例在负载均衡器中停止服务

我有一个EC2实例正在运行。我有一个负载均衡器,它与EC2实例相关联。PingTarget:HTTP:3001/healthCheckTimeout:5secondsInterval:24secondsUnhealthythreshold:2Healthythreshold:10现在该实例显示为OutofService。我什至尝试更改监听端口等等。一切正常,直到重新启动我的EC2实例。任何帮助将不胜感激。仅供引用:我有一个在端口3001上运行的Rails应用程序,我有一个用于HTTP:80(loadbalancer)到HTTP:3001的监听器。我还在终端中通过ssh检查了正在运行的应

c - ruby的rb_raise如何停止调用它的c函数的执行?

如果你在C中将一个ruby​​方法写成一个使用rb_raise的函数,调用后的函数部分将不会被执行,程序将停止,你会认为rb_raise使用了exit()。但是如果你在ruby​​中拯救异常,比如:beginmethod_that_raises_an_exceptionrescueendputs'Youwilstillgethere.'ruby代码将继续,但您的函数将停止执行。rb_raise如何实现这一目标? 最佳答案 推测它使用了setjmp(在调用方法之前)和longjmp(在rb_raise中)。

ruby - 停止分布式 Ruby 服务

我有一个启动DRb服务的脚本,然后生成处理程序对象并通过DRb.thread.join等待。我希望脚本一直运行直到被明确杀死,所以我添加了trap"INT"doDRb.stop_serviceend在Ruby1.8下成功停止DRb服务并退出,但在1.9下似乎死锁(在OSX10.6.7上)。对该进程进行采样显示在semaphore_wait_signal_trap中有几个线程在旋转。我假设我在调用stop_service时做错了什么,但我不确定是什么。谁能给我任何关于如何正确处理它的指示? 最佳答案 好的,我想我已经找到了解决方案。如

ruby-on-rails - 上帝停止resque worker rake

我在生产网站上使用Resque。当我部署时,我希望GOD停止所有worker然后重新启动它们,因为有时我们更改类的代码并重新排队失败的作业。问题是,当我执行godstopresque时,rake实际上并没有停止,工作人员仍然活着并使用旧代码,这给我带来了各种各样的问题。即使我“上帝终止”它也不会杀死worker。现在,我正在使用shell脚本来杀死工作人员,但由于我有不止一台服务器,所以在所有生产服务器上进行操作非常痛苦。这是我的上帝配置文件:rails_env=ENV['RAILS_ENV']||"production"rails_root=ENV['RAILS_ROOT']||"/

ruby - 为什么一个简单的瘦服务器在进行基准测试时会在 16500 个请求时停止响应?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:'ab'programfreezesafterlotsofrequests,why?这是一个简单的测试服务器:require'rubygems'require'rack'require'thin'classHelloWorlddefcall(env)[200,{"Content-Type"=>"text/plain"},"OK"]endendRack::Handler::Thin.runHelloWorld.new,:Port=>9294#I'vetriedwiththeseaddedtoo,'rack.mu

ruby - 启动和停止 Ruby 线程

我如何从另一个线程中启动和停止一个单独的线程?loop_a_stopped=trueloop_a=Thread.newdoloopdoThread.stopifloop_a_stopped#Dostuffsleep3endendloop_b=Thread.newdoloopdoresponse=ask(">")caseresponse.strip.downcasewhen"start"loop_a_stopped=falseloop_a.runwhen"stop"loop_a_stopped=truewhen"exit"breakendendendloop_a.joinloop_b.j

ruby-on-rails - 如何从命令行停止 Rails 服务器?

我有一个奇怪的事件,我关闭了我的终端,但服务器继续运行。当我尝试再次运行服务器时,我收到一条消息,表明服务器仍在运行。如何通过命令行停止服务器? 最佳答案 方法1:只需在运行服务器的终端中键入:Ctrl+C。方式2:另一种方式:在您的终端中找出进程的PID:$lsof-wnitcp:3000然后,终止进程:$kill-9PID方法3:您还可以使用以下命令杀死所有正在运行的名称中包含rails的应用程序:killall-9rails 关于ruby-on-rails-如何从命令行停止Rail

ruby - 停止 ruby​​ http 请求修改 header 名称

我正在用ruby​​做一个http请求:http=Net::HTTP.new(uri.host,uri.port)req=Net::HTTP::Post.new(uri.path)req.body=payloadreq['customeheader']='xxxxxxxxx'http.set_debug_output$stdout我打开了调试,当请求被发布时,我可以看到标题被发布为:Customheader:xxxxxxxxx有没有办法阻止这个,我发布到的第三方服务器给出了一个错误,因为header名称不正确-它期待customheader: 最佳答案