Size: a a a

Clojure — русскоговорящее сообщество

2020 April 05

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Special K
Вот тут я пока тыкаю икзэмплы из lacinia-pedestal / lacinia

Проблема в том, что риивал не подхватывает ни изменения в edn схеме, ни изменения в резолверах, которые в service прописаны. И рестарт сервера внутри REPL после риивала тоже ничего не даёт
а что там должно перечитываться?
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
на первый взгляд defonce как раз должно один раз отрабатывать
источник

S

Special K in Clojure — русскоговорящее сообщество
Sergey Trofimov
попробуй (http/start #'runnable-service) вместо (http/start runnable-service)
источник

S

Special K in Clojure — русскоговорящее сообщество
Maxim Penzin
на первый взгляд defonce как раз должно один раз отрабатывать
Вот перед сном уже эта идея ко мне и пришла.
источник

S

Special K in Clojure — русскоговорящее сообщество
Maxim Penzin
а что там должно перечитываться?
schema должна перегенеривать схему из .edn, и резолвер get-hero должен обновляться (конкретно нужно перечитывать то что в if-else)
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
чтобы это случалось, вот это должно выполняться
(defonce runnable-service (http/create-server (service/service)))
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
он это тут выполняется один раз - defonce
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Tim Plotnikov
Мне интересно, настанет ли технологический коллапс когда не останется человека который сможет разобраться в этих системах?
Тогда либо придётся все переписать либо люди начнут поклонятся машинам древних))
Такое уже было не раз. То на чем мы сейчас работаем - это 3-4 поколение вычислительных систем
источник

S

Special K in Clojure — русскоговорящее сообщество
Maxim Penzin
чтобы это случалось, вот это должно выполняться
(defonce runnable-service (http/create-server (service/service)))
Заменила на def - всё работает, но абсолютно так же
источник

S

Special K in Clojure — русскоговорящее сообщество
Причём я специально сделала функцию restart и даже она не спасает
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
не похоже чтобы эта функция как-то емалила деф повторно
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
вообще, рекомендую взять mount  и его использовать - там эти моменты попонятнее
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Special K
Заменила на def - всё работает, но абсолютно так же
замени на defstate 😊
источник

S

Special K in Clojure — русскоговорящее сообщество
Выше уже пыталась, началась какая-то дичь
источник

S

Special K in Clojure — русскоговорящее сообщество
штош
источник

S

Special K in Clojure — русскоговорящее сообщество
Попробую снова
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
оно там где-то внутри делает alter-var-root, но про это можно не думать
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Special K
Выше уже пыталась, началась какая-то дичь
можно и без маунта
но тебе нужно какое-нибудь управление состоянием
вот пример простейшего варианта https://github.com/serioga/clojure-benhcmarks/blob/3f9af368643df099844f6dc1df80bed8a44fdb39/src/clojure_benchmarks/match_service_async.clj#L30-L51
источник

S

Special K in Clojure — русскоговорящее сообщество
Если я зариквайрю defstate из маунта точечно, то что мне вместо mount/start надо тогда писать?
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Special K
Если я зариквайрю defstate из маунта точечно, то что мне вместо mount/start надо тогда писать?
тебе по любому надо mount/start делать
источник