This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-04-01
Channels
- # aatree (3)
- # admin-announcements (2)
- # beginners (42)
- # boot (142)
- # cider (12)
- # cljsrn (11)
- # clojure (126)
- # clojure-greece (2)
- # clojure-poland (7)
- # clojure-russia (81)
- # clojure-uk (10)
- # clojurescript (81)
- # component (27)
- # core-typed (2)
- # cursive (18)
- # euroclojure (1)
- # gorilla (1)
- # hoplon (85)
- # immutant (2)
- # jobs (3)
- # leiningen (2)
- # off-topic (49)
- # om (151)
- # onyx (19)
- # parinfer (3)
- # re-frame (36)
- # reagent (2)
- # spacemacs (5)
- # untangled (32)
- # yada (9)
офтоп: кто-нибудь знает способ раздачи nginx - ом контента, который он получает в результате выполнения команды?
гугл выдаёт поднятие cgi и прочего, или выполнения lua/perl, но кажется я видел когда-то путь проще
вспомнил про вот такой модуль - https://github.com/arut/nginx-rtmp-module/wiki/Exec-wrapper-in-bash
но сомневаюсь что это то что нужно
придётся так крутить http://leafo.net/posts/creating_an_image_server.html#the-code/serve-imagelua
@dottedmag: ну да да, ты прав, но хочется писать меньше
У меня есть консольная утилита, которая экстрактит из xml то, что мне нужно, не хочу сервера писать, которые это всё обрабатывают, хочу конфиг и фыр фыр фыр
Не нужен сервер. Можно взять любой cgi-враппер и воткнуть его fastcgi-бэкэндом к нгинксу.
Ты ему на STDIN подаёшь запрос, в ENV - заголовки запроса, а на STDOUT он выплёвывает ответ, заголовки и тело.
Если у тебя есть утилита, то из неё CGI сделать тривиально: 'bash -c "printf "200 OK\nContent-Type: text/xml\n\n"; ./утилита"
Всем доброго времени суток. Подскажите пожалуйста почему при сборке проекта с :aot all так сильно напрягается жесткий диск.
да гон же. причем тут SSD. память разве нельзя использовать и все такое? Вот clojurescript собирается нормально и диск не напрягает. а чисто clojure кряхтит там...
Значит паттерн обращений к диску такой, что алгоритм дискового кэша почему-то плохо работает.
https://clojurians.slack.com/archives/clojure-russia/p1459501244002090 не заблокирует, будет крутиться в корутине
@dottedmag: а вы тоже такое замечали? хочу уточнить это у меня так или у все)
@pacman: Нет, не замечал. Но у меня давно не осталось вращающихся кусков железа, по которым елозят головки, и создают этим ужасный latency.
@delaguardo: Что, в lua есть exec
, который yield'ит управление?
@delaguardo: И как это сделано? В нгинксе lua
подцеплен на его eventloop, и всё, что делает системные вызовы, обёрнуто в нгинксовую оболочку, а-ля нода?
чего там только нет - http://www.lua.org/pil/9.1.html
@delaguardo: Это не ответ.
@delaguardo: Сопрограммы Lua - это не вытесняющая многозадачность (для этого нужна поддержка операционной системы).
если я правильно помню, поддержка там за счет Lua VM и lua процесс действительно цепляется на eventloop nginx'a, не могу сходу найти пруф, но как найду скину в личку @dottedmag
@delaguardo: В API ngx.*
нет неблокирующегося запуска внешних процессов.
и для этого как раз делают много воркеров, потому что для проксирования в 99% случаев воркеры не нужны
@dottedmag: ты говоришь, что local file = io.open(source_fname)
в lua что-то там заблокирует?
а, кажется понял о чём ты, ты про os.execute()
да, он что-то там блочит, http://stackoverflow.com/questions/27039090/does-os-execute-block-thread-in-lua
но вроде как обойти можно
Я сломал lein репл 😞 на любой ввод включая "lein clean" дает exception
Caused by: clojure.lang.ArityException: Wrong number of args (4) passed to: core/interpose
в рабочей директории. в другой директории стартует нормально.😶