This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-10-15
Channels
- # admin-announcements (3)
- # aws (1)
- # beginners (1)
- # boot (73)
- # cider (1)
- # clojure (146)
- # clojure-japan (4)
- # clojure-nl (3)
- # clojure-russia (90)
- # clojurescript (72)
- # community-development (17)
- # core-async (10)
- # cursive (60)
- # datomic (15)
- # devcards (7)
- # emacs (5)
- # events (5)
- # hoplon (3)
- # instaparse (3)
- # ldnclj (48)
- # leiningen (5)
- # off-topic (27)
- # om (120)
- # onyx (31)
- # re-frame (7)
- # reagent (7)
- # ring-swagger (17)
- # yada (3)
(defn create-room [req]
{:status 200
:headers {"Content-Type" "text/html"}
:body (loop []
(let [troomid (reduce str (take 4 (repeatedly #(rand-nth mapchars))))]
(if (try (mc/insert-and-return db coll {:roomid troomid})
true
(catch DuplicateKeyException ex
false)
) (str troomid)
(recur))
))})
учитывая, что максимальное количество комнат у вас будет с таким индексом 65536, можно не беспокоиться о производительности монго )))
а более того, они будут удаляться через час, т.е. их и столько не наберется одновременно
http://clojurequartz.info/ - большая
https://github.com/jarohen/chime - маленькая
Вот тут, например: https://github.com/jarohen/chime#recurring-schedules
вот кстати что первое нагуглил https://github.com/zcaudate/cronj
There are now many more scheduling libraries in the clojure world: at-at chime clj-cronlike cron4j monotony quartzite schejulure
есть ещё https://github.com/prepor/twarc от prepor-a жеж
@andre: Подозреваю, что это сам разработчик (https://github.com/zcaudate) такое добавил
свежий индекс популярности языков программирования TOIBE October 2015: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Clojure всё ещё в TOP 50, правда опустился на 50 место, пропустив вперёд Rust
странно, что там делают авк, баш и корн шелл?
надо кложу портировать на дотнет
какой веб либа самая модная? у меня не кип элайф соединения но их может быть очень много одновременных. immutant2 или aleph? http-kit я так понял помирает
@kronos_vano: ты про клиент или про сервер таки?
ну сервер
в рубях есть юникорн пума вокруг rack
а тут я так понял все вокруг ring
@andre: я ориентировался на это: https://www.reddit.com/r/Clojure/comments/3dpjpf/jetty_vs_http_kit_vs_aleph_vs_immutant_luminus_app/
http-kit вполне себе работает, хоть и не особо правильно фундаментально написан. aleph мне кажется очень неправильным софтомю immutant это вообще просто набор либ, веб-сервер там на wildfly
ваще хочется 2к одновременно
но балансировщик воткнуть не проблема
самое важное для меня - асинхронный ответ
а для асинхронных http запросов что лучше?
я бы использовал педестал. ну побенчмаркать можно на всякий, но не дума что у тебя тут проблемы будут )
это вокруг ratpack. но оно очень сырое, хоть и прикольное и нужно быть готовым контрибутить в проект )
как раз вебсокеты мне и ненужны. а катакумба выглядит очень простой, мне нравится
а так можно брать любую (в педестале например для тебе уже готово многое из веб-стека, правильный роутинг, мидлвари, система интерсепторов (который в асинхронном окружении как раз лучше работают). в общем тут вам не руби, тут все ок )
я когда catacumba пробовал прям на совсем банальные баги натыкался типа https://github.com/funcool/catacumba/pull/29
И недоделки https://github.com/funcool/catacumba/issues/31. Но парень годный и все правит быстро
вижу в тикетах "Add support for SSL"
@kronos_vano: ну как бэ это очень опциональная и я бы сказал ненужная фича для сервера. зачем тебе терминировать ссл тут?
у меня хапрокси стоит на входе и сейчас он без терминирования прокидывает все на nginx на остальные сервера, я хочу аккуратно попробовать перевести 1 урл на кложу, посмотреть как будет работать. и ради потестить переделывать ничо не хочется
@prepor а можешь в двух словах объяснить в чем фундаментальная неправильность хттпкита?
в нем нет backpressure например никакого механизма, если его использовать для вебсокетов, то можно достаточно легко кончить ему память, что на чтение, что на запись.
Ясно. Спасибо