Size: a a a

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

2020 January 22

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
из этого как забираем статус?
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
(last (:status json)
источник

AG

Alexey Golda in Clojure — русскоговорящее сообщество
там в асинк есть какая-то штука, но я не помню, и не уверен что то что надо, тоже какая-то thread-factory
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
ак что ли
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
В асинке есть timeout channel
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
второй объект это весь ответ
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Borisov
api, причем не мое)
ты не ответил вопрос про работу вхолостую, когда нет клиентов, использующих апи
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Sergey Trofimov
как оно работает, если run дольше 10 сек выполняется?
Закинет туда ещё задачу через 10 сек после начала первой
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
(:status (last json))

всем спасибо
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Borisov
Закинет туда ещё задачу через 10 сек после начала первой
будут выполняться параллельно и накапливаться, пока память не кончится?
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Sergey Trofimov
ты не ответил вопрос про работу вхолостую, когда нет клиентов, использующих апи
Ну может работать и вхолостую, я думал в message bus данные кидать, или по вебсокету транслировать
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Соответственно, если нет клиентов, то по сути данные выкидываются
источник

A

Alex in Clojure — русскоговорящее сообщество
Mikhail Borisov
Мне почему-то кажется, что если core.async получше понять, то он хорошо тоже должен подойти
возможно funcool/promesa подошла бы, там просто
https://cljdoc.org/d/funcool/promesa/5.0.0/doc/user-guide
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Borisov
Ну может работать и вхолостую, я думал в message bus данные кидать, или по вебсокету транслировать
ну вот вариант, когда клиент пришёл и мы сделали все эти несколько запросов и закэшировали, он разве нерабочий?
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Sergey Trofimov
ну вот вариант, когда клиент пришёл и мы сделали все эти несколько запросов и закэшировали, он разве нерабочий?
Рабочий, но это для меня уже детали, меня интересовало, как сделать так, что все эти запросы по своим таймерам работают и периодически какие-то из них удаляются (когда матч закончился)
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Borisov
Рабочий, но это для меня уже детали, меня интересовало, как сделать так, что все эти запросы по своим таймерам работают и периодически какие-то из них удаляются (когда матч закончился)
ну это «другие» детали
я описываю вариант, в принципе не требующий планировщиков с таймером
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Я наверное не совсем понял решение
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Sergey Trofimov
ну а «по тупому» (не задумываясь о последствиях)
  (async/go-loop []
   (async/<! (async/timeout 20000))
   (do
     "Be careful what are you doing here")
   (recur))
Это же некий аналог setInterval?
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Borisov
Я наверное не совсем понял решение
«клиент пришёл и мы сделали все эти несколько запросов и закэшировали»

какую часть развернуть? 😊
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
А, ну это подписка в real time
источник