Documentation
¶
Index ¶
- func GenerateJobID(partition int32, offsets Offsets) string
- func NewSchedulerServer(handler SchedulerHandler) proto.SchedulerServiceServer
- type BuilderTransport
- type CompleteJobRequest
- type GRPCTransport
- type GetJobRequest
- type GetJobResponse
- type Job
- type JobStatus
- type MemoryTransport
- type Offsets
- type SchedulerHandler
- type SyncJobRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateJobID ¶
GenerateJobID creates a deterministic job ID from partition and offsets
func NewSchedulerServer ¶
func NewSchedulerServer(handler SchedulerHandler) proto.SchedulerServiceServer
NewSchedulerServer creates a new gRPC server that delegates to the provided handler
Types ¶
type BuilderTransport ¶
type BuilderTransport interface { // SendGetJobRequest sends a request to get a new job SendGetJobRequest(ctx context.Context, req *GetJobRequest) (*GetJobResponse, error) // SendCompleteJob sends a job completion notification SendCompleteJob(ctx context.Context, req *CompleteJobRequest) error // SendSyncJob sends a job sync request SendSyncJob(ctx context.Context, req *SyncJobRequest) error }
BuilderTransport is for calls originating from the builder
type CompleteJobRequest ¶
type GRPCTransport ¶
type GRPCTransport struct { grpc_health_v1.HealthClient io.Closer proto.SchedulerServiceClient }
GRPCTransport implements the Transport interface using gRPC
func NewGRPCTransportFromAddress ¶
func NewGRPCTransportFromAddress( address string, cfg grpcclient.Config, reg prometheus.Registerer, ) (*GRPCTransport, error)
NewGRPCTransportFromAddress creates a new gRPC transport instance from an address and dial options
func (*GRPCTransport) SendCompleteJob ¶
func (t *GRPCTransport) SendCompleteJob(ctx context.Context, req *CompleteJobRequest) error
SendCompleteJob implements Transport
func (*GRPCTransport) SendGetJobRequest ¶
func (t *GRPCTransport) SendGetJobRequest(ctx context.Context, req *GetJobRequest) (*GetJobResponse, error)
SendGetJobRequest implements Transport
func (*GRPCTransport) SendSyncJob ¶
func (t *GRPCTransport) SendSyncJob(ctx context.Context, req *SyncJobRequest) error
SendSyncJob implements Transport
type GetJobResponse ¶
type Job ¶
type Job struct {
// contains filtered or unexported fields
}
Job represents a block building task.
type JobStatus ¶
type JobStatus int
JobStatus represents the current state of a job
func (JobStatus) IsFinished ¶
type MemoryTransport ¶
type MemoryTransport struct {
// contains filtered or unexported fields
}
MemoryTransport implements Transport interface for in-memory communication
func NewMemoryTransport ¶
func NewMemoryTransport(scheduler SchedulerHandler) *MemoryTransport
NewMemoryTransport creates a new in-memory transport instance
func (*MemoryTransport) SendCompleteJob ¶
func (t *MemoryTransport) SendCompleteJob(ctx context.Context, req *CompleteJobRequest) error
func (*MemoryTransport) SendGetJobRequest ¶
func (t *MemoryTransport) SendGetJobRequest(ctx context.Context, _ *GetJobRequest) (*GetJobResponse, error)
func (*MemoryTransport) SendSyncJob ¶
func (t *MemoryTransport) SendSyncJob(ctx context.Context, req *SyncJobRequest) error
type SchedulerHandler ¶
type SchedulerHandler interface { // HandleGetJob processes a request for a new job HandleGetJob(ctx context.Context) (*Job, bool, error) // HandleCompleteJob processes a job completion notification HandleCompleteJob(ctx context.Context, job *Job, success bool) error // HandleSyncJob processes a job sync request HandleSyncJob(ctx context.Context, job *Job) error }
SchedulerHandler defines the business logic for handling builder requests