schedule - ActiveState ActiveGo 1.8

Package schedule

import ""

Overview ▾

Package schedule provides mechanisms and policies for scheduling units of work.

type Job

type Job func(context.Context)

type Scheduler

Scheduler can schedule jobs.

type Scheduler interface {
    // Schedule asks the scheduler to schedule a job defined by the given func.
    // Schedule to a stopped scheduler might panic.
    Schedule(j Job)

    // Pending returns number of pending jobs
    Pending() int

    // Scheduled returns the number of scheduled jobs (excluding pending jobs)
    Scheduled() int

    // Finished returns the number of finished jobs
    Finished() int

    // WaitFinish waits until at least n job are finished and all pending jobs are finished.
    WaitFinish(n int)

    // Stop stops the scheduler.

func NewFIFOScheduler

func NewFIFOScheduler() Scheduler

NewFIFOScheduler returns a Scheduler that schedules jobs in FIFO order sequentially