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

main.go 2.4 kB

2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package main
  2. import (
  3. //"context"
  4. //"io"
  5. "fmt"
  6. //"path/filepath"
  7. //"sync"
  8. "encoding/json"
  9. "rabbitmq"
  10. "time"
  11. //agentcaller "proto"
  12. //"github.com/pborman/uuid"
  13. //"github.com/streadway/amqp"
  14. //"google.golang.org/grpc"
  15. )
  16. //TODO xh: 读取配置文件,初始化变量
  17. func main() {
  18. //TODO xh:解析配置文件
  19. rabbit := rabbitmq.NewRabbitMQSimple("coorQueue")
  20. msgs := rabbit.ConsumeSimpleQos(time.Millisecond * 500)
  21. forever := make(chan bool)
  22. // 启用协程处理消息
  23. go func() {
  24. for d := range msgs {
  25. // 实现我们要处理的逻辑函数
  26. b1 := d.Body
  27. commandType := string(b1[0:2])
  28. fmt.Println(commandType)
  29. c1 := b1[2:]
  30. switch commandType {
  31. case "00":
  32. var command rabbitmq.EcWriteCommand
  33. err := json.Unmarshal(c1, &command)
  34. if err != nil {
  35. fmt.Printf("json.Unmarshal failed, err:%v\n", err)
  36. }
  37. CoorEcWrite(command)
  38. case "01":
  39. var command rabbitmq.WriteHashCommand
  40. err := json.Unmarshal(c1, &command)
  41. if err != nil {
  42. fmt.Printf("json.Unmarshal failed, err:%v\n", err)
  43. }
  44. CoorEcWriteHash(command)
  45. case "02":
  46. var command rabbitmq.ReadCommand
  47. err := json.Unmarshal(c1, &command)
  48. if err != nil {
  49. fmt.Printf("json.Unmarshal failed, err:%v\n", err)
  50. }
  51. CoorRead(command)
  52. case "03":
  53. var command rabbitmq.RepWriteCommand
  54. err := json.Unmarshal(c1, &command)
  55. if err != nil {
  56. fmt.Printf("json.Unmarshal failed, err:%v\n", err)
  57. }
  58. CoorRepWrite(command)
  59. case "04":
  60. var command rabbitmq.WriteHashCommand
  61. err := json.Unmarshal(c1, &command)
  62. if err != nil {
  63. fmt.Printf("json.Unmarshal failed, err:%v\n", err)
  64. }
  65. CoorRepWriteHash(command)
  66. case "05":
  67. var command rabbitmq.MoveCommand
  68. err := json.Unmarshal(c1, &command)
  69. if err != nil {
  70. fmt.Printf("json.Unmarshal failed, err:%v\n", err)
  71. }
  72. CoorMove(command)
  73. case "06":
  74. var command rabbitmq.TempCacheReport
  75. err := json.Unmarshal(c1, &command)
  76. if err != nil {
  77. fmt.Printf("json.Unmarshal failed, err:%v\n", err)
  78. }
  79. TempCacheReport(command)
  80. case "07":
  81. var command rabbitmq.HeartReport
  82. err := json.Unmarshal(c1, &command)
  83. if err != nil {
  84. fmt.Printf("json.Unmarshal failed, err:%v\n", err)
  85. }
  86. HeartReport(command)
  87. }
  88. err := d.Ack(false)
  89. if err != nil {
  90. println(err)
  91. }
  92. }
  93. }()
  94. <-forever
  95. }

本项目旨在将云际存储公共基础设施化,使个人及企业可低门槛使用高效的云际存储服务(安装开箱即用云际存储客户端即可,无需关注其他组件的部署),同时支持用户灵活便捷定制云际存储的功能细节。

Contributors (1)