
Андрей
24.01.2017
09:01:21
Все так делают сейчас. Жаль в наше время небыло педивикии

Abdullo
24.01.2017
09:02:00

Richard
24.01.2017
09:02:18
@ahidoyatov где код можно глянуть?

Yura
24.01.2017
09:02:37
Виртуалка или железо?

Google

Abdullo
24.01.2017
09:03:54

Yura
24.01.2017
09:04:10
Вообще, похоже на кучу блокирующих системных вызовов. Фьютекс берется, когда тред возвращается из сискола и хочет вернуться к выполнению кода на Го.

Abdullo
24.01.2017
09:04:11
Компания не разрешит

Yura
24.01.2017
09:04:19
Что прога делает?

Abdullo
24.01.2017
09:05:01
Отправляет пуши по gcm apn i fcm
Берет из бази mysql

Yura
24.01.2017
09:14:56
Что то из этого использует обертку вокруг сишной либы?

Abdullo
24.01.2017
09:15:33
Mysql i Rabbitmq mojet ispolzuet no tochno ne uveren
I eshe logrus
https://github.com/streadway/amqp
https://github.com/sirupsen/logrus
github.com/go-sql-driver/mysql
nicho esli budu pisat translitom ? medleddno pishu na kirilitse

Google

Yura
24.01.2017
09:19:52
Второй вариант: используешь таймеры для таймаута? Если да, то в случае, когда таймаут не понадобился, таймер стопаешь?

Abdullo
24.01.2017
09:20:12
Da ispolzuyu
Net ne virubayu ih oni doljni vechno rabotat
kajdoe n sekund ya doljen chitat iz ocheredi i otpravlyat push
mojete posovetovat gde mojno pochitat pro futexi ? Ato normalnuyu doku nigde ne nashel

Yura
24.01.2017
09:23:32
Тем же go tool pprof построй svg или dot файл.
Если можешь на локальной машине сделать, то web в pprof откроет браузер с svg
Буду материться: у тебя, б^%πь до х√я таймеров. Они выжирают твой цпу.
Прошу прощения за несдержанность, просто такой профайла я еще не видел.

Abdullo
24.01.2017
09:39:07
time.NewTicker() ti pro etot timer ?

Sergey
24.01.2017
09:39:11
Товарищи, а подскажите немного по организации кода
есть у меня парсер, которые парсит кое чего и на основе распарсенного делает сущности
сущности я реализова через struct

Abdullo
24.01.2017
09:39:47

Sergey
24.01.2017
09:39:51
и сейчас все это в одном файлике

Yura
24.01.2017
09:40:04
Ticker - это периодический таймер. Пока ты его не остановишь, он ьудет работать и работать.

Sergey
24.01.2017
09:40:12
и вот я думаю как разбить - просто по файликам в папке с исходниками приложения
или создавать папки entity
model
и пр?

Google

Abdullo
24.01.2017
09:40:49
Vmesto timerov. Ili u menya nepravilno sozdaetsa ?

Yura
24.01.2017
09:41:19
Если ты их постоянно порождаешь, и никогда не останавливаешь, миллионы тикеров выжрут весь цпу, наберут критическую массу, и превратятся в черную дыру

Abdullo
24.01.2017
09:42:52

Yura
24.01.2017
09:43:03
Если тебе нужен таймер, используй Timer. Если нужно раз в секунд, пусть это будет Ticker, но один (ну, или несколько)

Abdullo
24.01.2017
09:44:06

Sergey
24.01.2017
09:58:20
не подскажете по организации?

Daniel
24.01.2017
09:59:04
а?

Sergey
24.01.2017
10:00:00
Sergey Pronin, [24.01.17 12:39]
Товарищи, а подскажите немного по организации кода
Sergey Pronin, [24.01.17 12:39]
есть у меня парсер, которые парсит кое чего и на основе распарсенного делает сущности
Sergey Pronin, [24.01.17 12:39]
сущности я реализова через struct
Sergey Pronin, [24.01.17 12:39]
и сейчас все это в одном файлике
Sergey Pronin, [24.01.17 12:40]
и вот я думаю как разбить - просто по файликам в папке с исходниками приложения
Sergey Pronin, [24.01.17 12:40]
или создавать папки entity
Sergey Pronin, [24.01.17 12:40]
model
Sergey Pronin, [24.01.17 12:40]
и пр?

Slava
24.01.2017
10:00:27
пиши как удобно, а потом всё равно перепишешь

Sergey
24.01.2017
10:00:50
))) ну, это наверняка )
я погуглил Best Practice но чёт ничего конкретного не увидел

Sergey
24.01.2017
10:01:26
ссылки на репы, а там разные файлики но просто в папке приложения лежат и всё
Смотрю на какой-то болт https://github.com/boltdb/bolt
все исходники в одной папке
ух...а если сущностей, допустим, штук 200 разных

Мерлин
24.01.2017
10:08:49
Выпуск 12. http://scalalaz.ru/mp3/scalalaz-podcast-12.mp3. Sent from Podcast Republic.

Sergey
24.01.2017
10:11:05

Google

Sergey
24.01.2017
10:11:09
в этом и есть вопрос

Мерлин
24.01.2017
10:12:31

Sergey
24.01.2017
10:54:59
шикарная ссылка

Peter
24.01.2017
11:13:29
а кто на rc2 уже перекатился?
и stringer юзает
wtf
stringer: checking package: config.go:4:2: could not import fmt (reading export data: /usr/local/go/pkg/linux_amd64/fmt.a: invalid encoding format in export data: got 'v'; want 'c' or 'd')

Admin
ERROR: S client not available

Sergey
24.01.2017
11:34:45
Решил пойду путем с картинки:
)))

Kirill
24.01.2017
11:38:10
сейчас работаю над этим проектом
тут по-моему просто угадать что за оно %)

Sergey
24.01.2017
11:38:44
слушай, а как ты конфиги хранишь?
json файл преобразующийся в структуру?
или прям в структуре какой-нибудь типа Config напихано?

Kirill
24.01.2017
11:39:09

Sergey
24.01.2017
11:39:16
угу

Kirill
24.01.2017
11:39:30
вот его в viper запихиваю и не парюсь
плюс дальше сверху прикручиваю веб-панель для управления конфигом, watch'еры их, синхронизацию по кластеру и вот это всё

Sergey
24.01.2017
11:40:35
ух ? пока сложновато для меня

Google

Sergey
24.01.2017
11:40:45
я на го прогать пытаюсь неделю наверное )

Kirill
24.01.2017
11:40:49
да всё вроде как просто, как палка
серверы кластера между собой соединяются и просчитывают кратчайшие пути от каждого до каждого. сервер, который обслужил сохранение конфига выбирает до трех ближайших (по traceroute и пингу) сервера и даёт им данные по конфигу. они применяют и отдают следующей группе до трех серверов, исключая те, которые уже были настроены. так оно рекурсивно раскатывает по всему кластеру в течение максимум 5 секунд.
точно так же работает кеш. он шардируется и сервер, который ближе всего к клиенту или отдает из своих локальных кешей и/или хранилищ, или идет по кратчайшему пути к одному из серверов, который отвечает за конкретный шард.

Sergey
24.01.2017
11:47:59
спасибо Кирилл

Kirill
24.01.2017
11:48:26
хотя с шардированием кеша я провозился долго. задержка была неприемлемой.

Sergey
24.01.2017
11:48:40
ну, я парсер пишу )

Kirill
24.01.2017
11:48:55
а, парсер тоже штука довольно простая

Sergey
24.01.2017
11:48:56
даже с трехкопеечным знанием Го ускорил то что есть с 3 часов, до 3 секунд )

Kirill
24.01.2017
11:49:17
О.о
с трёх часов?!

Sergey
24.01.2017
11:49:28
угу
)

Kirill
24.01.2017
11:49:41
это на чем было-то?

Sergey
24.01.2017
11:49:47
на php

Kirill
24.01.2017
11:50:01
а. тогда вопросов нет.