package main
import (
"context"
"fmt"
"sync"
)
func worker(ctx context.Context, worderID int, data chan int, wg *sync.WaitGroup) {
defer wg.Done()
fmt.Printf("worker %d started\n", worderID)
for {
fmt.Printf("worker %d enter for\n", worderID)
select {
case <-ctx.Done():
fmt.Printf("worker %d cancelled\n", worderID)
return
case v, ok := <-data:
fmt.Printf("worker %d got data: %v, ok: %v\n", worderID, v, ok)
if !ok {
fmt.Printf("worker %d data channel was closed\n", worderID)
return
}
}
}
}
func main() {
var wg sync.WaitGroup
ctx, cancel := context.WithCancel(context.Background())
channels := make([]chan int, 10)
for i := 0; i < 10; i++ {
wg.Add(1)
channels[i] = make(chan int)
go worker(ctx, i, channels[i], &wg)
}
for i := 0; i < 10; i++ {
channels[i] <- i
}
cancel()
wg.Wait()
}
package main
import (
"context"
"fmt"
"time"
)
func worker(ctx context.Context, worderID int, data chan int) {
fmt.Printf("worker %d started\n", worderID)
for {
fmt.Printf("worker %d enter for\n", worderID)
select {
case <-ctx.Done():
fmt.Printf("worker %d cancelled\n", worderID)
return
case v, ok := <-data:
fmt.Printf("worker %d got data: %v, ok: %v\n", worderID, v, ok)
if !ok {
fmt.Printf("worker %d data channel was closed\n", worderID)
return
}
}
}
}
func main() {
ctx, cancel := context.WithCancel(context.Background())
channels := make([]chan int, 10)
for i := 0; i < 10; i++ {
channels[i] = make(chan int)
go worker(ctx, i, channels[i])
}
for i := 0; i < 10; i++ {
channels[i] <- i
}
time.Sleep(100 * time.Microsecond)
cancel()
time.Sleep(100 * time.Microsecond)
}
fmt.Printf("obj.Message.ID: %v\n", obj.Message.ID)
b.MessageIDs([]int{obj.Message.ID})
// MessageIDs parameter.
func (b *MessagesDeleteBuilder) MessageIDs(v []int) *MessagesDeleteBuilder {
b.Params["message_ids"] = v
return b
}
fmt.Printf("b.Params: %+v\n", b.Params)
Я пока не нашел в их мануале как правильно создать Builder для удаления по conversation_message_id.
Предлагаю попробовать небольшой "хак", чтобы убедиться, что оно реально работает.
А как заработает - надо будет найти правильное решение, сначала давайте сделаем чтобы заработало.
Судя по вашему примеру - вам не нужны вычитывать эти сообщения чтобы удалить, верно?
Попробуйте вот такой вариант
Такой вариант должен сработать.
Дайте знать как попробуете ))