https://github.com/roger-king/tasker
is an scheduling/automation framework utilizing Go Plugins
https://github.com/roger-king/tasker
golang golang-plugin plugins schedule tasker
Last synced: 8 months ago
JSON representation
is an scheduling/automation framework utilizing Go Plugins
- Host: GitHub
- URL: https://github.com/roger-king/tasker
- Owner: roger-king
- License: mit
- Created: 2019-09-20T01:37:44.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-03-07T02:03:22.000Z (almost 3 years ago)
- Last Synced: 2025-03-26T20:32:45.692Z (11 months ago)
- Topics: golang, golang-plugin, plugins, schedule, tasker
- Language: Go
- Homepage:
- Size: 3.52 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/roger-king/tasker/actions)
[](https://github.com/roger-king/tasker/actions)
# Tasker - [ DEVELOPMENT IN PROGRESS ]
Tasker is a job scheduling service that utilizes `go-cron`. Tasker is a service that will allow for dynamic configration of tasks.
Tasker is inspired by the Android application `tasker` the ability to set scripts and schedule them at whim without needing to touch the server code.

# Installation
Import tasker:
```bash
import "github.com/roger-king/tasker"
```
Install via Go Modules:
```bash
go mod vendor
```
# Getting Started:
Tasker is simple to get started. Tasker has 2 goals at mind:
- Create a schedule for task to run external scripts
- Create your own handler functions to programmatically run code
```golang
t := tasker.New()
router := t.Start()
// Add to your HTTP Server
http.Handle("/", router)
http.ListenAndServe(":8080", nil)
```
Go to your server and find the tasker web client at `/tasker/admin`.
## Configuration of your server
Tasker utilizes [`12 Factor App configs`](https://12factor.net/config). Tasker relies environment variables to handle configruation of the application
Below are the availble of environment variables that Tasker looks for (note: prefixed with `TASKER_`):
| ENV | Description |
| ------------------------ | :------------------------------------------: |
| TASKER_DB_MIGRATE | true/false flag for auto migrate on start up |
| TASKER_DB_CONNECTION_URL | Postgres connection uri |
| GITHUB_CLIENT_ID | Github Client ID for authentication |
| GITHUB_CLIENT_SECRET | Github Secret for authentication |
Connection to the database can be set by either setting `TASKER_DB_CONNECTION_URL` or by setting
## TODOS:
View the Github Projects board: https://github.com/roger-king/tasker/projects/1