задания в канал. Внутри воркера получаю задания вот таким манером:
for {
select {
case task := <-crawler.tasks: // chan *Task
log.Printf("Task: %v", task)
crawler.handleTask(task)
case <-crawler.workersStop:
return
}
}
сейчас наблюдаю как из канала приходит сначала нормальный Task, а в другом воркере nil, причем продьюсер отправил в канал только первый таск. Это какая-то гонка?
каналы потокобезопасны, ищите ошибку в коде отправки сообщения
Обсуждают сегодня