Skip to content

yieldbot/chronos-client

Repository files navigation

chronos-client

Build Status GoDoc Release

A Go Chronos client library that provides Chronos operations.

Installation

go get github.com/yieldbot/chronos-client

Usage

Getting jobs

See jobs.go for full code.

jobs, err := chronos.Client.Jobs()
if err != nil {
  log.Fatal(err)
}
for _, j := range jobs {
  fmt.Printf("%s\n", j.Name)
}

Adding a job

See add.go for full code.

var j = `{"schedule": "R/2015-11-09T00:00:00Z/PT24H", "name": "test-1", "epsilon": "PT30M", "command": "echo test1 && sleep 60", "owner": "localhost@localhsot", "async": false}`
_, err := chronos.Client.AddJob(j)
if err != nil {
  log.Fatal(err)
}
fmt.Printf("The job is added\n")

Running a job

See run.go for full code.

_, err := chronos.Client.RunJob("test-1", "")
if err != nil {
  log.Fatal(err)
}
fmt.Printf("test-1 job is running\n")

Killing job tasks

See killtasks.go for full code.

_, err := chronos.Client.KillJobTasks("test-1")
if err != nil {
  log.Fatal(err)
}
fmt.Printf("test-1 job tasks are killed\n")

Deleting a job

See delete.go for full code.

_, err := chronos.Client.DeleteJob("test-1")
if err != nil {
  log.Fatal(err)
}
fmt.Printf("test-1 job is deleted\n")

License

Licensed under The MIT License (MIT)
For the full copyright and license information, please view the LICENSE.txt file.

[coverage-image]: https://coveralls.io/repos/yieldbot/chronos-client/badge.svg?branch=master&service=github)