/schedgroup

Package schedgroup provides a goroutine worker pool which schedules tasks to be performed at or after a specified time. MIT Licensed.

Primary LanguageGoMIT LicenseMIT

schedgroup Test Status Go Reference Go Report Card

Package schedgroup provides a goroutine worker pool which schedules tasks to be performed at or after a specified time. MIT Licensed.

Special thanks to Egon Elbre from #performance on Gophers Slack for two prototypes of this idea, based on Go's container/heap package. Egon's prototypes heavily influenced the final design of this package.

Fork Changes

  • Add WithoutGoroutines option to be able to perform tasks not spawning a new goroutine for each (#1)
  • Fix a race condition which led to Group never been notified about task available (#3)

Fork Usage

As we are not modifying original module name, the only way to use the fork is using replace directive:

go mod edit -replace github.com/mdlayher/schedgroup=github.com/bi-zone/schedgroup@latest