go-scheduler

module
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 27, 2024 License: MIT

README

Go Scheduler

Go Reference

Minimalistic scheduler library for GoLang.

Installation

go get github.com/dl1998/go-scheduler

or

go install github.com/dl1998/go-scheduler@v1.0.0

Usage

Check examples provided in the examples.

For scheduling a new task:

taskName := "Task Name"
taskStartTime := nil // To schedule immediately.
taskDuration := 10 * time.Second // How long it will be active (10 seconds).
taskInterval := time.Second // Periodicity with which function will be executed (every second).
taskFunction := function(task *Task, name: string) {
	fmt.Printf("Hello, %s!\n", name)
}

newScheduler := scheduler.New()

newTask := newScheduler.ScheduleTask(taskName, taskStartTime, taskDuration, taskInterval, taskFunction, "world")

By default program will be interrupted if there is no other code to be performed. In order to wait until task will be completed use:

newTask.Wait()

It will block program execution and wait until task will be completed. Alternatively you could use sleep:

time.Sleep(taskDuration)

However, if you want to interrupt task before it has been finished, you could do it manually using:


newScheduler.StopTask(newTask)

Class Diagram

Class Diagram

Directories

Path Synopsis
examples
basic
Example that shows how to schedule simple task.
Example that shows how to schedule simple task.
interrupt
Example that shows how to interrupt task that is currently scheduled.
Example that shows how to interrupt task that is currently scheduled.
taskcontext
Example that shows how to use Task context.
Example that shows how to use Task context.
withparameters
Example that shows how to schedule task and provide parameters to the scheduled function.
Example that shows how to schedule task and provide parameters to the scheduled function.
pkg
scheduler
Package scheduler provides Scheduler implementation in Go.
Package scheduler provides Scheduler implementation in Go.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL