Lita とは
結論
まず以下のようなハンドラーを作ります。
module Lita module Handlers class Healthcheck < Handler http.get '/healthcheck' do |_request, response| response.body << 'OK' end Lita.register_handler(self) end end end
そして、ハンドラーを require
しているファイル(lita-hoge/lib/lita-hoge.rb
のようなファイル)内に、このヘルスチェックのハンドラーも以下のように require
します。
require 'lita' Lita.load_locales Dir[File.expand_path( File.join('..', '..', 'locales', '*.yml'), __FILE__ )] require 'lita/handlers/hoge' require 'lita/handlers/healthcheck' Lita::Handlers::Hoge.template_root File.expand_path( File.join('..', '..', 'templates'), __FILE__ )
これで、/healthcheck
にアクセスすると OK
が返ってきます。UptimeRobot などで死活監視しつつ、サーバを眠らせないために有用だと思います。
一般的なエンドポイントとしても使えるので、Webサーバ の機能を用いることで Bot という観点で広く API を提供することも可能かと思います。
補足
2021/07/25 現在では、Ruby 3 を用いて Webサーバ の機能を用いることはできません。Ruby 3 で削除されたメソッド を用いるため、エラーになるためです。