2015-10-16 37 views
1

這是巨人一個例子:Ruby Goliath應用程序如何真正開始?

require 'goliath' 

class HelloWorld < Goliath::API 
    def response(env) 
    [200, {}, "hello world"] 
    end 
end 

如何定義在Web服務器的類和子類Goliath::API結果被啓動?難道這不應該只是定義一個類,而不是實際實例化和執行一個類?

回答

2

巨人使用at_exit,不象辛納屈,MINITEST等

看到一些相關的代碼here,這凸顯了額外的處理這一招有時需要。

+0

啊!這實際上解釋了我在我的程序中添加了一些代碼以開始監聽RabbitMQ事件的另一個問題,因此我保持應用程序正常運行,突然我的Web服務器停止工作。這一定是爲什麼!看起來像是一個非常奇怪的設計決定。爲什麼不直接調用'.run!'或類似的東西呢?無論如何,感謝您的信息! – CodingWithSpike

+0

API類旨在使事情儘可能簡單。你可以編寫你自己的服務器位,而不是使用API​​來做你想做的事情。 – dj2