An open API service indexing awesome lists of open source software.

https://github.com/gofarsi/scheduler

Scheduler package is a zero-dependency scheduling library for Go
https://github.com/gofarsi/scheduler

collaborate github go golang

Last synced: 7 months ago
JSON representation

Scheduler package is a zero-dependency scheduling library for Go

Awesome Lists containing this project

README

          

# Scheduler
[![Go Reference](https://pkg.go.dev/badge/github.com/GoFarsi/scheduler.svg)](https://pkg.go.dev/github.com/GoFarsi/scheduler)

[Scheduler](https://pkg.go.dev/github.com/GoFarsi/scheduler) package is a zero-dependency scheduling library for Go

# Install
```console
go get -u github.com/GoFarsi/scheduler
```

# Features
- Scheduling your functions
- In a scheduler instance, you can run more than one thousand jobs at a time (Max Job is `10.000`)
- In the form of Safely, you can run your jobs and if a panic occurs, your jobs will be recovered and reported to the console (`func (j *Job) DoJobSafely(jobFunction interface{}, params ...interface{}) error`)
- Multiple scheduler instances can be run simultaneously

# Example

**[More Example in](./_example)**

```go
package main

import (
"fmt"
"github.com/GoFarsi/scheduler"
)

var (
Sched = Scheduler.NewScheduler()
)

func main() {
if err := Sched.Every(5).Second().Do(Greeting); err != nil {
panic(err)
}

<-Sched.Start()
}

func Greeting() {
fmt.Println("Hello, World!")
}
```

# Contributing

We'd love to see your contribution to the scheduler! you can contribute by following these steps :
1. Fork the repository
2. Create a new branch
3. Make your changes
4. Commit your changes
5. Push your changes to the remote repository
6. Create a pull request