Versions in this module Expand all Collapse all v1 v1.0.0 Mar 7, 2026 Changes in this version + type AWSLambdaProvider struct + func NewAWSLambdaProvider(config *AWSProviderConfig) *AWSLambdaProvider + func (p *AWSLambdaProvider) GetEndpoint() string + func (p *AWSLambdaProvider) GetRegion() string + func (p *AWSLambdaProvider) Invoke(ctx context.Context, functionName string, payload any) (any, error) + func (p *AWSLambdaProvider) IsHealthy(ctx context.Context) error + type AWSProviderConfig struct + AccessKeyID string + Endpoint string + MaxConnections int + Region string + SecretAccessKey string + SessionToken string + Timeout time.Duration + type AzureFunctionsProvider struct + func NewAzureFunctionsProvider(config *AzureProviderConfig) (*AzureFunctionsProvider, error) + func (p *AzureFunctionsProvider) GetFunctionApp() string + func (p *AzureFunctionsProvider) GetResourceGroup() string + func (p *AzureFunctionsProvider) Invoke(ctx context.Context, functionName string, payload any) (any, error) + func (p *AzureFunctionsProvider) IsHealthy(ctx context.Context) error + type AzureProviderConfig struct + ClientID string + ClientSecret string + FunctionApp string + MaxConnections int + ResourceGroup string + SubscriptionID string + TenantID string + Timeout time.Duration + type CircuitBreaker struct + func NewCircuitBreaker(threshold float64, stateChangeTimeout time.Duration) *CircuitBreaker + func (cb *CircuitBreaker) GetState() CircuitBreakerState + func (cb *CircuitBreaker) IsOpen() bool + func (cb *CircuitBreaker) RecordFailure() + func (cb *CircuitBreaker) RecordSuccess() + type CircuitBreakerState string + const CircuitClosed + const CircuitHalf + const CircuitOpen + type ExecutionMetrics struct + AverageLatency time.Duration + FailedCalls int64 + LastExecutedAt time.Time + P95Latency time.Duration + P99Latency time.Duration + SuccessfulCalls int64 + TotalExecutions int64 + type FunctionMetadata struct + Description string + InputType string + IsWarm bool + LastWarmed time.Time + Local bool + Name string + OutputType string + RegisteredAt time.Time + Retries int + Timeout int + type GCPCloudFunctionsProvider struct + func NewGCPCloudFunctionsProvider(config *GCPProviderConfig) (*GCPCloudFunctionsProvider, error) + func (p *GCPCloudFunctionsProvider) GetProjectID() string + func (p *GCPCloudFunctionsProvider) GetRegion() string + func (p *GCPCloudFunctionsProvider) Invoke(ctx context.Context, functionName string, payload any) (any, error) + func (p *GCPCloudFunctionsProvider) IsHealthy(ctx context.Context) error + type GCPProviderConfig struct + MaxConnections int + ProjectID string + Region string + ServiceAccountEmail string + ServiceAccountKeyJSON string + Timeout time.Duration + type ProviderFactory struct + func (pf *ProviderFactory) CreateProvider(config *ServerlessConfig) (ServerlessProvider, error) + type ProviderType string + const ProviderAWS + const ProviderAzure + const ProviderGCP + type ServerlessConfig struct + BackoffMultiplier float64 + CircuitBreakerThreshold float64 + CircuitBreakerTimeout time.Duration + Credentials map[string]string + DefaultTimeout time.Duration + FunctionPrefix string + InitialBackoff time.Duration + MaxBackoff time.Duration + MaxConcurrent int + MaxPoolConnections int + Provider ProviderType + Region string + WarmingEnabled bool + WarmingInterval time.Duration + type ServerlessFunctionExecutor struct + func NewServerlessExecutorForProvider(config *ServerlessConfig) (*ServerlessFunctionExecutor, error) + func NewServerlessFunctionExecutor(config *ServerlessConfig, provider ServerlessProvider) *ServerlessFunctionExecutor + func (e *ServerlessFunctionExecutor) DeregisterFunction(name string) error + func (e *ServerlessFunctionExecutor) Execute(ctx context.Context, functionName string, input any) (any, error) + func (e *ServerlessFunctionExecutor) ExecuteAsync(ctx context.Context, functionName string, input any) (string, error) + func (e *ServerlessFunctionExecutor) GetCircuitBreakerState(functionName string) (CircuitBreakerState, error) + func (e *ServerlessFunctionExecutor) GetMetadata(functionName string) (*FunctionMetadata, error) + func (e *ServerlessFunctionExecutor) GetMetrics(functionName string) (*ExecutionMetrics, error) + func (e *ServerlessFunctionExecutor) GetResult(ctx context.Context, jobID string) (any, error) + func (e *ServerlessFunctionExecutor) IsHealthy(ctx context.Context) bool + func (e *ServerlessFunctionExecutor) ListFunctions() []string + func (e *ServerlessFunctionExecutor) RegisterFunction(name string, fn port.FunctionHandler) error + func (e *ServerlessFunctionExecutor) Start(ctx context.Context) error + func (e *ServerlessFunctionExecutor) Stop(ctx context.Context) error + type ServerlessProvider interface + Invoke func(ctx context.Context, functionName string, payload any) (any, error) + IsHealthy func(ctx context.Context) error