Anonymous
впска поймала файл
Anonymous
значит, макбук не хочет работать)
Anonymous
так, сделал все шаги на маке и все равно та же картина
Anonymous
Хм, к сожалению, маков у меня нет, мб что-то ОС специфичное
Anonymous
ладно, пойду интернеты курить)
спасибо за правильную наводку!
Dmitriy / დიმიტრი
Какие есть способы контролировать кол-во горутин?
Допустим мне надо, что бы работало максимум 10 для одной задачи.
Сейчас у меня вот такая конструкция:
goroutines := make(chan struct{}, 10)
for _, path := range routes {
goroutines <- struct{}{}
go func(path) {
wg.Add(1)
// ...
<-goroutines
wg.Done()
}(path)
}
Т.е. если буферивизованный канал полностью забит, то работает 10 горутин, как только горутина завершает работу она читает из канала и освобождает место в нем
Dmitriy / დიმიტრი
Может я велосипед изобрел? Может в Go есть какие-то уже механизмы для этого?
Aleksey
Anonymous
У кого есть книга го в примерах на русском поделитесь please?
Anonymous
Так это самый простой и самый действенный вариант.
// someFunc project main.go
package main
import (
"fmt"
"sync"
)
func main() {
var wg sync.WaitGroup
for {
for n := 1; n <= 10; n++ {
wg.Add(1)
go someFunc(n, &wg)
}
wg.Wait()
break
}
}
func someFunc(numb int, wg *sync.WaitGroup) {
fmt.Println("Number:", numb)
wg.Done()
}
Anonymous
Anonymous
Anonymous
В том же цикле
Dmitriy / დიმიტრი
Anonymous
Задача была запустить 10 горутин, дождаться и запустить след. 10
Anonymous
Anonymous
И как же вы это контролить собрались? )
Anonymous
Anonymous
Dmitriy / დიმიტრი
И как же вы это контролить собрались? )
Ну у меня это сделано через канал(см. код выше), но я не уверен что это верный способ. Т.е. возможно для таких вещей есть уже готовое решение в Go о котором я не знаю
Anonymous
Anonymous
Dmitriy / დიმიტრი
Ну тогда так и оставлю. Хотя может ещё на стэке попозже вопрос задам. Интересно что там ответят
Oleg
я делал так, но тут получается довольно неточное число горутин, которые заняты непосредственно задачей, т.к. есть ещё 1-3 служебных. мне такое решение подошло.
for cn := 0; cn < listsize; cn++ {
wg.Add(1)
go fill(cn)
for runtime.NumGoroutine() > 10 {
time.Sleep(time.Microsecond * 100)
}
}
wg.Wait()
Oleg
запускает новую задачу, как только число горутин падает ниже 10
Anonymous
Oleg
Это делается в fill()
Oleg
wg определён глобально
Anonymous
Мерль
Oleg
Зря
wc -l src/main.go
104
Oleg
я думаю похрен :)
Anonymous
ссылка https://blog.golang.org/pipelines никогда не потеряет актуальность
Мерль
https://groups.google.com/forum/#!topic/golang-nuts/AvJ6FHZCiYQ
Anatoly
>The new go env -json flag enables JSON output, instead of the default OS-specific output format.
Anatoly
крутота
Stanislav
мне больше понравилась параллельная конпеляция
Anatoly
>By popular request, ./... no longer matches packages in vendor directories in tools accepting package names, such as go test.
Stanislav
возможно therecipe/qt будет быстрее конпеляться
Ivahaev
Anatoly
Да вообще такой хороший релиз, такое ощущение что перед го2 прибираются: https://tip.golang.org/doc/go1.9
Мерль
[last news]
Go AntiPatterns
Rafael
вакансии по голангу сюда можно?
Мерль
Можно
Мерль
Желательно с вилкой
Rafael
Почасовая 500-800р час. Удаленная. Задачи бэкенд для crm транспортной компании
Kirill
Anton
Peter
Совсем зажрались в столицах
Valentin
800+ минимум должно быть в час
Kirill
Valentin
Они за еду пашут
Valentin
Хотя 500 в час это и есть за еду
Anton
Совсем зажрались в столицах
зажрались? :)
прикинь ценник, если месяц на проекте будешь работать по 8ч в день
а потом по честному пойдешь и заплатишь налог
а работать ты будешь без отпускных и социалочек..
Kirill
Ну, я думал, дно уже ими найдено
Default
Вне зависимости от того, в Биробиджане ты или в Мск
Peter
Если 500р, то с налогом в месяц 69600р
Anton
Default
Так что не зажрались в столицах, а зажрались во фронтэндах ☝🏻
Kirill
это много? :)
Ну, если не есть и жить в палатке возле МКАДа
Anonymous
Default
Тьфу
Default
Не в том чате нахожусь :D
Anonymous
800+ минимум должно быть в час
Ну вот да, но хитрожопые манагеры за тебя три шкуры сдерут за эти деньги.
Правда когда я брал халтуру это было еще до кризиса, мб сейчас прогеры обленились и цены поднялись
Anonymous
Peter
Тоже нужно начать из дома работать
Kirill
Anton
не, может конечно я так категоричен, потому что я уже давно не голодный студент..
студенты наверное и за 300р/час будут готовы фигачить?
Anton
слышал что в Туле средняя зп 15 тыр/мес
Peter
Зато у них пряники и самовары
Kirill
Которыми выдаётся зарплата
Andrew
хорошо, что не оружием