使用 tamashii-manager
使用 Hook(類似 middleware)
新增一個 Hook Class
設定 config/initializers/manager_config.rb
class TamashiiRailsHook < Tamashii::Hook
def call(pkt)
if some_condition?
true # 此訊息會被攔截,不執行 handler
else
false # 此訊息會執行預設的 handler
end
end
end
Tamashii::Resolver.config do
hook TamashiiRailsHook
end
46.
使用 tamashii-manager
使用 ManagerAPI 傳送訊息給 client (agent)
class TamashiiRailsHook < Tamashii::Hook
def initialize(*args)
super
@client = @env[:client]
end
def call(pkt)
# …
pkt = Tamashii::Packet.new(...)
@client.send(pkt.dump)
end
end