JetPluginSDK (JetPluginSDK v0.1.5)
Jet plugin SDK for elixir.
Tenant
SDK 提供了一套 behaviour 抽象用来实现插件的生命周期功能,只需实现 behaviour 中 定义的回调函数即可。
defmodule JetSamplePlugin.Tenant do
use JetPluginSDK.TenantMan.Tenants.Tenant
@impl JetPluginSDK.TenantMan.Tenants.Tenant
def handle_install(_tenant) do
{:ok, %{}}
end
@impl JetPluginSDK.TenantMan.Tenants.Tenant
def handle_run({_tenant, tenant_state}) do
{:noreply, tenant_state}
end
end
JetClient
插件运行过程中有时需要调用 Jet 的相关接口,这些接口的调用都通过 JetClient 发 起。想要让 JetClient 正常工作,需要为 JetCLient 提供相应的配置:
config :jet_plugin_sdk, JetPluginSDK.JetClient,
endpoint: "http://plugin.jet.local/graphql",
access_key: "t/lnVHUw89Vgd+sW"
Warmup
应用启动时可以自动从 Jet 获取插件的实例,并启动相应的 tenants,通过以下配置完成:
config :jet_plugin_sdk, JetPluginSDK.TenantMan,
warm_up: [tenant_module: JetSamplePlugin.Tenant]
Summary
Functions
Link to this function