
Nick
06.05.2017
08:28:23
хотя я бы предпочел scaladays)

Aleksey
06.05.2017
08:49:03
https://twitter.com/scalabythebay/status/860566293639970816

Alexander
06.05.2017
08:52:00
по поим сведениям ScalaDays довольно поверностная конфа, там больше маркетинга и т.п.

Google

Alexander
06.05.2017
08:52:52
рекомендуют Scala World, Scala Exchange

Daniel
06.05.2017
09:03:30

Alexander
06.05.2017
09:08:43
думаю, что там можно получить много инфы вширь, а если надо вглубь, то лучше смотреть другие конфы

A
06.05.2017
11:17:12
Ребят, я опять с вопросами
Пытаюсь работать с БД как описанно вот тут http://www.bbartosz.com/blog/2015/12/14/akka-http-rest-api/
Исходники тут https://github.com/BBartosz/akkaRestApi
Конфиг как тут http://slick.lightbend.com/doc/3.0.0/database.html#using-typesafe-config
Внимание вопрос - какого хрена у меня при "большом" кол-ве запросов connection pool разбухает
Разбухает так, что:
psql bots
psql: FATAL: sorry, too many clients already
вот тут у него есть trait https://github.com/BBartosz/akkaRestApi/blob/master/src/main/scala/utils/DatabaseConfig.scala
который он в каждый актор примешивает
я правильно понимаю, что он на каждый актор сессию создаёт

Nikolay
06.05.2017
11:23:55
У тебя там hikaricp?

A
06.05.2017
11:24:07
отдельную сессию с отдельным connection pool - ом
Nikolay
"org.postgresql" % "postgresql" % "9.4-1201-jdbc41",
"org.flywaydb" % "flyway-core" % "3.2.1",
"com.typesafe.slick" %% "slick" % "3.2.0",
"com.typesafe.slick" %% "slick-hikaricp" % "3.2.0",

Nick
06.05.2017
11:25:23

Google

Nikolay
06.05.2017
11:26:48
не смотрел ссылки выше, но тебе стоит поискать как настраивается количество соединений в connection pool в слике
насколько помню это через *.conf файл делается. параметр в духе slick.connection-pool.max-connections

A
06.05.2017
11:27:37
твой вопрос навёл меня на https://github.com/slick/slick/blob/master/slick-hikaricp/src/main/scala/slick/jdbc/hikaricp/HikariCPJdbcDataSource.scala
тут
val numThreads = c.getIntOr("numThreads", 20)
hconf.setMaximumPoolSize(c.getIntOr("maxConnections", numThreads * 5))

Nick
06.05.2017
11:28:24
numThreads *5 ?

Nikolay
06.05.2017
11:28:26
ну, то есть это может быть 100 соединений, так?

A
06.05.2017
11:28:44
ровно сотня и получается

Nikolay
06.05.2017
11:28:48
у postgres по умолчанию как раз 100 соединений максимально

Nick
06.05.2017
11:28:48
эт с blocking драивером?

Nikolay
06.05.2017
11:29:02
если ты не менял ничего в postgres.conf
ну, соответственно ты можешь либо уменьшить пул соединений к базе, либо увеличить max-connections в постгресе
а как кстати перезапуск приложения происходит?
может быть там остаются висеть незакрытые соединения

A
06.05.2017
11:36:20
> если ты не менял ничего в postgres.conf
проверил, там сотня
> ну, соответственно ты можешь либо уменьшить пул соединений к базе, либо увеличить max-connections в постгресе
в конфиге приложения поставил
numThreads = 1
maxConnections = 1
и всё равно в лимиты упираюсь
> перезапуск через ctrl + c ))))
проверил, вроде все коннекты чистятся

Nikolay
06.05.2017
11:40:43
Тогда наверное в max-connections постгреса уперся

A
06.05.2017
11:41:58
ну само собой
чего все молчат, кто тут сессии к БД в trait - ах создаёт?
почему мне кажется, что правильнее object создавать

Sergey
06.05.2017
11:43:17
ну вот да

Nikolay
06.05.2017
11:45:24
Что за сессии к БД?

Google

A
06.05.2017
11:45:43
типа
trait DatabaseConfig extends Config {
val profile = PostgresProfile
import profile.api._
def db = Database.forConfig("database")
implicit val session: Session = db.createSession()
}
а потом этот DatabaseConfig варим к актору

Nikolay
06.05.2017
11:46:15
А для чего используешь сессию?

A
06.05.2017
11:46:37
чтобы было збс :troll:
Николай, как иначе?

Nikolay
06.05.2017
11:47:08
Я не помню чтобы пользовался этим в повседневном использовании слика
db.run

Sergey
06.05.2017
11:49:28
Database.forConfig("database") вообще один раз должен вызваться за все время работы приложения
а у тебя похоже это не так

Mikhail
06.05.2017
11:53:03

Nikolay
06.05.2017
11:53:15
Кстати да

Mikhail
06.05.2017
11:54:44
он по сессии к каждому дао фигачит - но и это тоже конечно школярство

A
06.05.2017
11:55:51
действитель
BaseDao мешается в PostsDao, а он используется в https://github.com/BBartosz/akkaRestApi/blob/master/src/main/scala/api/PostsApi.scala
а как этот роутер работает?
один поток?

Mikhail
06.05.2017
11:57:05
и что? дао у него уже обьекты

A
06.05.2017
11:57:47
точно, дальше всё это обьекты
@rudogma спасибо

Google

Andrey
06.05.2017
17:25:48

Igor
07.05.2017
09:06:11
Кто-нибудь реально в продакшене юзает фримонады?

Nick
07.05.2017
09:09:23
Да

Daniel
07.05.2017
09:09:48
три человека во всем мире
Джон де Гоуз, Денис, и тот чувак из 47дегри что писал онлайн туториал

Nick
07.05.2017
09:10:09
Ну в этом реально есть доля правды)

Admin
ERROR: S client not available

KrivdaTheTriewe
07.05.2017
09:10:55
просто они первые

Igor
07.05.2017
09:11:11

Dmitry
07.05.2017
09:11:21

Nick
07.05.2017
09:11:38

Dmitry
07.05.2017
09:12:54
Тогда мы тоже используем

Daniel
07.05.2017
09:14:43
я так понимаю вопрос в том что сами пишете интерпретаторы и прочее, а не использование либы где это под капотом

KrivdaTheTriewe
07.05.2017
09:14:58

Dmitry
07.05.2017
09:16:38

KrivdaTheTriewe
07.05.2017
09:16:45
у меня тут назревает проект , нужно будет депенденсю добавить

Dmitry
07.05.2017
09:16:59
В алгебру?

KrivdaTheTriewe
07.05.2017
09:17:00
В алгебру?
ну я решаю , через что работу с слоем бд заворачивать буду сейчас

Dmitry
07.05.2017
09:17:41
Ааа

Google

Dmitry
07.05.2017
09:17:47
Ну тогда самое оно
Если б ещё postgres async
И ваще огонь

Nick
07.05.2017
09:18:57

KrivdaTheTriewe
07.05.2017
09:19:06

Dmitry
07.05.2017
09:19:20

KrivdaTheTriewe
07.05.2017
09:19:22
мне пока асинк не нужен был

Nick
07.05.2017
09:19:45
В теории конечно приятно не блочить тред

Dmitry
07.05.2017
09:19:49
Знаю что в скалалайк это киллер фича

Nick
07.05.2017
09:19:51
Но базе херова не будет?)
Маркетинг)

Dmitry
07.05.2017
09:20:18
Ну
Да

Nick
07.05.2017
09:20:59
Сова
У вас полюбас есть асинк
Расскажи есть ли толк

Daniel
07.05.2017
09:22:20
у меня в отделе реляционки как справочники только, мне вообще до лампочки что юзать для них)

Nick
07.05.2017
09:22:24
Хотя наверно к красиво везде футуры пихать можно