You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

44 lines
959 B

  1. package main
  2. import (
  3. "gearman"
  4. "log"
  5. )
  6. func main() {
  7. client := gearman.NewClient()
  8. defer client.Close()
  9. client.AddServer("127.0.0.1:4730")
  10. echo := []byte("Hello world")
  11. if data, err := client.Echo(echo); err != nil {
  12. log.Println(string(data))
  13. }
  14. handle, err := client.Do("ToUpper", echo, gearman.JOB_NORMAL)
  15. if err != nil {
  16. log.Println(err)
  17. } else {
  18. log.Println(handle)
  19. job := <-client.JobQueue
  20. if data, err := job.Result(); err != nil {
  21. log.Println(err)
  22. } else {
  23. log.Println(string(data))
  24. }
  25. }
  26. known, running, numerator, denominator, err := client.Status(handle)
  27. if err != nil {
  28. log.Println(err)
  29. }
  30. if !known {
  31. log.Println("Unknown")
  32. }
  33. if running {
  34. log.Printf("%g%%\n", float32(numerator) * 100 / float32(denominator))
  35. } else {
  36. log.Println("Not running")
  37. }
  38. }