Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### Івент Offer
- *відсилається бід сервісом брокеру, коли бід сервіс уже отримав керієрів від рейтингового сервісу*
- Структура івенту в дайний момент наступна:
- ```go
- event := mq.EventData{
- EventMetdData: mq.EventMetdData{
- EventName: defs.EventOffer, // 'offerBid' - імя івенту, константа
- EventId: utils.EventIdGen.Get(), // 17 - наприклад
- },
- Value: eventBidCarriers{
- Carriers: o.RelCarriers, // масив керієрів, яким треба відіслати офери з бідом
- Bid: o.Bid, // сам бід в якому є потрібні керієру дані (вид defs.go)
- },
- }
- ```
- Очкується, що брокер розішле кожному керрієру в масиві структуру Bid.
- Далі горутіна в у бідсервісі буде чекати на відповіді від керрієрів.
- Івент відповіді від керрієрів такий:
- ### Івент OfferReply
- ```go
- type statusBidEventData struct {
- mq.EventMetdData
- Value statusBid `json:"value"`
- }
- type statusBid struct {
- Helper.StatusJson
- BidUUID string `json:"bid_uuid"`
- }
- ```
- Відповіді потрібно пересилати бід сервісу з EventName = "offerReply" (див /bid/defs/defs.go)
- ### Івент OfferFinished
- *В середині бід сервісу вшитий таймаут, якщо таймаут минув або всі керрієри уже відповіли на оффер, бід сервіс
- відішле брокеру Івент закінчення фази розіграшу біда, цього івента поки що нема, я тільки зараз зрозумів що він потрібен.
- але орієнтовна його структура може бути така:*
- ```go
- event := mq.EventData{
- EventMetdData: mq.EventMetdData{
- EventName: defs.EventOfferFinished, // 'offerFinished' - імя івенту, константа
- EventId: utils.EventIdGen.Get(),
- },
- Value: eventBidCarriers{
- Carriers: o.RelCarriers, // масив керієрів
- Bid: o.Bid, // сам бід або лише його UUID не знаю як краще.
- },
- }
- ```
- Цей івент треба розіслати всім o.RelCarriers. Але кожному керрієру треба слати лише себе самого + бід структуру,
- я думаю ти розумієш чому.
Add Comment
Please, Sign In to add comment