Versions in this module Expand all Collapse all v0 v0.1.3 Jun 20, 2022 Changes in this version + const MTaskExecute + const MTaskExecuted + const MTaskExecuting + const MWorkerAnnounce + func NewTaskExecuteMessage(name string, args []byte, payloadType string) message.Message + func NewTaskExecutedMessage(id xid.ID, result any, err error) message.Message + func NewTaskExecutingMessage(manifestID, futureID xid.ID) message.Message + func NewWorkerAnnounceMessage(workerID xid.ID, tasks ...string) message.Message + type Controller struct + func NewController(bus message.Bus, kv kv.KV) *Controller + func (c *Controller) Dispatch(ctx context.Context, manifest Manifest) error + func (c *Controller) Producer() async.Manifest + func (c *Controller) Workers() []WorkerInfo + type ExecuteMessage struct + type ExecutedMessage struct + Error *string + FutureID xid.ID + Result any + type ExecutingMessage struct + FutureID xid.ID + ManifestID xid.ID + type Manifest struct + Name string + Options Options + Payload []byte + PayloadType string + func JSON(name string, args any) (*Manifest, error) + func MsgPack(name string, args any) (*Manifest, error) + func (m *Manifest) Unmarshal(v any) error + type Options struct + Priority int + type Task struct + AsyncManifest async.Manifest + Name string + func Of(name string, taskFn func(ctx context.Context, input I) (O, error)) Task + type Worker struct + func NewWorker(bus message.Bus, tasks ...Task) *Worker + func (w *Worker) Announce(ctx context.Context) error + func (w *Worker) PollingExecutor(ctx context.Context) (*async.Manifest, error) + type WorkerAnnounceMessage struct + Tasks []string + WorkerID xid.ID + type WorkerInfo struct + ID string + LastUpdate time.Time + Load map[string]int32 + type WorkerLoad struct + ID string + Tasks map[string]*atomic.Int32