Guest User

Untitled

a guest
Oct 17th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. ### Івент Offer
  2. *відсилається бід сервісом брокеру, коли бід сервіс уже отримав керієрів від рейтингового сервісу*
  3.  
  4. Структура івенту в дайний момент наступна:
  5.  
  6. ```go
  7. event := mq.EventData{
  8. EventMetdData: mq.EventMetdData{
  9. EventName: defs.EventOffer, // 'offerBid' - імя івенту, константа
  10. EventId: utils.EventIdGen.Get(), // 17 - наприклад
  11. },
  12. Value: eventBidCarriers{
  13. Carriers: o.RelCarriers, // масив керієрів, яким треба відіслати офери з бідом
  14. Bid: o.Bid, // сам бід в якому є потрібні керієру дані (вид defs.go)
  15. },
  16. }
  17. ```
  18. Очкується, що брокер розішле кожному керрієру в масиві структуру Bid.
  19. Далі горутіна в у бідсервісі буде чекати на відповіді від керрієрів.
  20. Івент відповіді від керрієрів такий:
  21.  
  22. ### Івент OfferReply
  23.  
  24. ```go
  25. type statusBidEventData struct {
  26. mq.EventMetdData
  27. Value statusBid `json:"value"`
  28. }
  29.  
  30. type statusBid struct {
  31. Helper.StatusJson
  32. BidUUID string `json:"bid_uuid"`
  33. }
  34. ```
  35.  
  36. Відповіді потрібно пересилати бід сервісу з EventName = "offerReply" (див /bid/defs/defs.go)
  37.  
  38. ### Івент OfferFinished
  39.  
  40. *В середині бід сервісу вшитий таймаут, якщо таймаут минув або всі керрієри уже відповіли на оффер, бід сервіс
  41. відішле брокеру Івент закінчення фази розіграшу біда, цього івента поки що нема, я тільки зараз зрозумів що він потрібен.
  42. але орієнтовна його структура може бути така:*
  43.  
  44. ```go
  45. event := mq.EventData{
  46. EventMetdData: mq.EventMetdData{
  47. EventName: defs.EventOfferFinished, // 'offerFinished' - імя івенту, константа
  48. EventId: utils.EventIdGen.Get(),
  49. },
  50. Value: eventBidCarriers{
  51. Carriers: o.RelCarriers, // масив керієрів
  52. Bid: o.Bid, // сам бід або лише його UUID не знаю як краще.
  53. },
  54. }
  55. ```
  56.  
  57. Цей івент треба розіслати всім o.RelCarriers. Але кожному керрієру треба слати лише себе самого + бід структуру,
  58. я думаю ти розумієш чому.
Add Comment
Please, Sign In to add comment