main.go 913 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package main
  2. import (
  3. "context"
  4. "fmt"
  5. "git.nspix.com/golang/micro"
  6. "math/rand"
  7. "time"
  8. )
  9. type (
  10. Request struct {
  11. Name string
  12. Age int
  13. Co float64
  14. }
  15. )
  16. func main() {
  17. svr := micro.New(
  18. micro.WithName("git.nspix.com/test", "0.0.01"),
  19. micro.WithoutRegister(),
  20. micro.WithHttpDebug(),
  21. micro.WithStats(),
  22. micro.WithCli(),
  23. micro.WithPort(6567),
  24. )
  25. svr.Handle("getUserList", func(ctx micro.Context) (err error) {
  26. var req Request
  27. if err = ctx.Bind(&req); err != nil {
  28. return err
  29. }
  30. return ctx.Success(req)
  31. }, func(o *micro.HandleOptions) {
  32. o.DisableCli = false
  33. })
  34. go func() {
  35. time.AfterFunc(time.Second*5, func() {
  36. for i := 0; i < 100000; i++ {
  37. r := rand.Int63n(10000)
  38. svr.DeferTick(time.Duration(r)*time.Millisecond, func(ctx context.Context) {
  39. fmt.Println(time.Now().Unix())
  40. })
  41. }
  42. })
  43. }()
  44. if err := svr.Run(); err != nil {
  45. fmt.Println(err)
  46. }
  47. }