These are chat archives for synrc/n2o

6th
Feb 2015
bronzeboyvn
@cuongth
Feb 06 2015 10:39
is that question specialized for Cowboy server (not for n2o framework) ?
Namdak Tonpa
@5HT
Feb 06 2015 11:08
it should be controlled on upload gen_server process
@m-2k is asking abount custom upload process of binary files. cowboy has no support of transfer files over ws channel
Andy
@m-2k
Feb 06 2015 11:18
so, no idea?
@cuongth also, Ur markdown version has bugs (may be for unicode)
Namdak Tonpa
@5HT
Feb 06 2015 11:23
you should do it manually in chunk receiver (gen_server)
Andy
@m-2k
Feb 06 2015 11:36
это где
я вчера nginx разглядывал, так он только по content-length умеет ограничивать и только для post - совсем по-детски
Andy
@m-2k
Feb 06 2015 11:42
кста навернул rewrite query strings, никакой хэндлер фиксать не пришлось, попатчил routes и cowboy:compile
{"/ws/[:module/[:id/[:extra/[...]]]]", bullet_handler, [{handler, n2o_bullet}]},
{"/[:module/[:id/[:extra/[...]]]]", n2o_cowboy, []}
parse_qs(Req) ->
    {M, _} = cowboy_req:binding(module,  Req),
    {I, _} = cowboy_req:binding(id, Req),
    {E, _} = cowboy_req:binding(extra, Req),
    Map = #{m=>M,i=>I,e=>E},
    erlang:put(matched_qs, Map), Map.
Namdak Tonpa
@5HT
Feb 06 2015 11:44
так тоже можно да
Andy
@m-2k
Feb 06 2015 11:46
не очень кривожопо для случая когда id иногда не id а модуль не модуль?
Namdak Tonpa
@5HT
Feb 06 2015 11:46
ну это вопросы к parse_qs
Andy
@m-2k
Feb 06 2015 11:47
а чо по поводу аплоада, я не догнал, нужно ген сервер писать или это в ковбое?
Namdak Tonpa
@5HT
Feb 06 2015 11:48
в ковбое нет ничего что поможет нам слать файлы по вебсокету
Andy
@m-2k
Feb 06 2015 11:50
n2o_websocket над переписать или ковбоевский эндпоинт?
я еще из лимита по вопросам не вышел?
Namdak Tonpa
@5HT
Feb 06 2015 12:04
ничего не надо переписывать
вся логика по аплоаду должна быть в этом gen_server который стартует с началом закачки файла
он принимает чанки
Andy
@m-2k
Feb 06 2015 12:06
да где он, покаж ссыль, тут же ахеренная интеграция с гитхабом )
https://github.com/5HT/n2o/search?utf8=✓&q=behaviour&type=Code
нет никаких генсерверов
Namdak Tonpa
@5HT
Feb 06 2015 12:10
нет
его нужно тебе написать
типа такого
netch80
@netch80
Feb 06 2015 12:59

< 5HT> выложи в гист что валится при первом HTTP запросе

всё что есть на экране от `./mad repl':

Erlang/OTP 17 [erts-6.3] [source] [64-bit] [smp:8:8] [async-threads:10] [kernel-poll:false]

Configuration: [{n2o,[{port,8000},
{app,review},
{route,routes},
{log_modules,config},
{log_level,config},
{event,pickle}]},
{kvs,[{dba,store_mnesia},
{schema,[kvs_user,kvs_acl,kvs_feed,kvs_subscription]}]}]
Applications: [crypto,compiler,syntax_tools,mnesia,xmerl,kernel,stdlib,
kvs,fs,cowlib,ranch,gproc,erlydtl,cowboy,n2o,review,active,
kjell,mad,rest,sh]
Kjell v.0.2.3
1> Setting up watches. Beware: since -r was given, this may take a while!
Watches established.

1>

"первого HTTP запроса" не может состояться, ибо

netstat -anp | fgrep -w LISTEN | fgrep 8000 | wc -l

0

Namdak Tonpa
@5HT
Feb 06 2015 13:02
ага
первый раз такое вижу чтобы ковбой не запустил порт
а примеры ковбоя работают?
Viktor Sovietov
@vsov
Feb 06 2015 13:04
странное что-то
@netch80 там никаких фокусов с iptables нет на машине?
netch80
@netch80
Feb 06 2015 13:05
нет, таблицы вообще пустые
Viktor Sovietov
@vsov
Feb 06 2015 13:07
сходи в depsы к ковбою, он работает вообще?
Andy
@m-2k
Feb 06 2015 13:08
@5HT ок, а кто чанки нарезать будет?
если JS то суть была в том чтобы не пропустить клиент-дефайнед чанка, например в 4 GB
вместо 100кб
то есть чтобы он не успел упасть в память тачки
Namdak Tonpa
@5HT
Feb 06 2015 13:15
в ковбое есть ограничение на размер
netch80
@netch80
Feb 06 2015 13:17
сходи в depsы к ковбою, он работает вообще?
два его примера по крайней мере порт запустили и что-то приняли на нём
Namdak Tonpa
@5HT
Feb 06 2015 13:19

а в repl

wf:config(n2o,port).

шо выдает?

netch80
@netch80
Feb 06 2015 13:21
выдал 8000
сейчас попробую strace напустить.
netch80
@netch80
Feb 06 2015 13:27
в strace нету listen(), и только один bind() на нулевой порт.
а ranch должен быть в виде приложения? если да, то его нет
Namdak Tonpa
@5HT
Feb 06 2015 13:31
вот это плохо
это и причина
а почему его нет?
mad com
не выдал разве ошибок
если отдельно запускать
mad dep
mad com
mad pla
mad rep
на шаге mad com посмотри шо там
там должен быть несобраный ranch
попробуй также вместо mad com -> rebar compile
netch80
@netch80
Feb 06 2015 13:36
mad: компиляция без ошибок, по логу оно собирало ranch
rebar ничего нового не сказал
в результате снова не слушает
Namdak Tonpa
@5HT
Feb 06 2015 13:37
а что значит ranch нет в виде приложения?
deps/ranch/ebin там есть ?
*.app и *.beam
netch80
@netch80
Feb 06 2015 13:40
$ ls -l deps/ranch/ebin/
загалом 60
-rw-rw-r-- 1 netch netch 1300 лют 6 15:33 ranch_acceptor.beam
-rw-rw-r-- 1 netch netch 1588 лют 6 15:33 ranch_acceptors_sup.beam
-rw-rw-r-- 1 netch netch 569 лют 6 15:33 ranch.app
-rw-rw-r-- 1 netch netch 1324 лют 6 15:33 ranch_app.beam
-rw-rw-r-- 1 netch netch 3264 лют 6 15:33 ranch.beam
-rw-rw-r-- 1 netch netch 5352 лют 6 15:33 ranch_conns_sup.beam
-rw-rw-r-- 1 netch netch 1440 лют 6 15:33 ranch_listener_sup.beam
-rw-rw-r-- 1 netch netch 1228 лют 6 15:33 ranch_protocol.beam
-rw-rw-r-- 1 netch netch 3372 лют 6 15:33 ranch_server.beam
-rw-rw-r-- 1 netch netch 3388 лют 6 15:33 ranch_ssl.beam
-rw-rw-r-- 1 netch netch 1080 лют 6 15:33 ranch_sup.beam
-rw-rw-r-- 1 netch netch 2676 лют 6 15:33 ranch_tcp.beam
-rw-rw-r-- 1 netch netch 8068 лют 6 15:33 ranch_transport.beam
netch80
@netch80
Feb 06 2015 13:50
хорошо. давайте предположим, что это пакеты самого Erlang от ESL какие-то странные. есть готовая альтернатива или собрать самому и попробовать на собранном?
Namdak Tonpa
@5HT
Feb 06 2015 13:54
я kerl всегда собираю
никогда не юзал ESL сборки
может порт попробуй в конфиге поменять )
может там какя-то магия на 8000 )
netch80
@netch80
Feb 06 2015 13:55
менял на 8001, без разницы. сейчас ещё рандомное попробую
Namdak Tonpa
@5HT
Feb 06 2015 13:59
там вроде ESL или Ubuntu режут erlang на куски
шоб типа упоротые админы отдельно xmerl ставили )
у вас точно не такой упоротый вариант?
типа и ssl отдельно
и все много из OTP аппсов
netch80
@netch80
Feb 06 2015 14:01
такой, но вроде всё поставил. и оно разве не должно начать сыпать crash report'ами, если что-то недоступно?
Namdak Tonpa
@5HT
Feb 06 2015 14:01
нет
это ж ESL
им похуй
порезали эрланг в гавно
а как оно неработает так сами ебитесь
вот ты и ебешься )
делай kerl сборку
если не будет работать я съем свою шляпу
ставить xmerl отдельным пакетом :-) ебануться там придумали
netch80
@netch80
Feb 06 2015 14:07
ну мне тоже в нём никакие xml не были нужны никогда:) в чём-то их понимаю. ok, пробую
netch80
@netch80
Feb 06 2015 14:15
так, можно поздравить. на самосборном эрланге (это ещё не kerl) уже открылся порт и появилась морда N2O.
Namdak Tonpa
@5HT
Feb 06 2015 14:15
шляпу есть не буду
как разберешься как заставить ебаную ESL сборку работать черкани мне фидбек добавлю в ридми
уверен надо поставить пару пакетов
где там список всех пакетов ESL?
може я с первого взгляда скажу шо нада
Viktor Sovietov
@vsov
Feb 06 2015 14:17
а шляпа-то у тебя есть? :)
Namdak Tonpa
@5HT
Feb 06 2015 14:18
есть
лоика
ковбойка )
Viktor Sovietov
@vsov
Feb 06 2015 14:18
))
федора?
netch80
@netch80
Feb 06 2015 14:19
https://gist.github.com/netch80/ddf8350b4b664c304e69 всё, что вывалил apt-cache search erlang | grep ^erlang
Viktor Sovietov
@vsov
Feb 06 2015 14:19
свят-свят-свят
Namdak Tonpa
@5HT
Feb 06 2015 14:20
erlang-syntax-tools стоит?
посмотри на .applist там же сразу видно шо нада
ranch отдельным пакетом
ебануться )
у меня же в депсах тоже выкачивается ranch
erlang-crypto
это нада 100%
netch80
@netch80
Feb 06 2015 14:21
erlang-syntax-tools стоит, в нём yecc, без него не собиралось
Namdak Tonpa
@5HT
Feb 06 2015 14:22
erlang-mnesia
netch80
@netch80
Feb 06 2015 14:22
этого нет
Namdak Tonpa
@5HT
Feb 06 2015 14:23
добавляй
и все заработает
могу отвязать от xmerl если нада
netch80
@netch80
Feb 06 2015 14:24
о, с мнезией запустилось.
Namdak Tonpa
@5HT
Feb 06 2015 14:24
отвязать?
netch80
@netch80
Feb 06 2015 14:24
но почему оно молча не открывало?
от xmerl? если он не нужен, наверно, лучше отвязать
Namdak Tonpa
@5HT
Feb 06 2015 14:26
молча потому что я не проверяю в sample есть ли мнезия
netch80
@netch80
Feb 06 2015 14:26
я ж привык к хорошему в erlang - что если кому что не нравится в обстановке то оно падает. а тут мёртвые с косами и тишина.
должно же было на попытке её использовать сдохнуть
ладно, спасибо за внимание и участие. пойду дальше мучить локально
Namdak Tonpa
@5HT
Feb 06 2015 14:29
я просто помню шо этот xmerl не просто так туда поставил
толи для LING оно надо было толи шо
Andy
@m-2k
Feb 06 2015 14:51
а где ограничение в ковбое, я по этой теме тоже ничего не нагуглил
they check length of body
it was fixed by check body's length
ninenines/cowboy#446
Namdak Tonpa
@5HT
Feb 06 2015 14:56
we don't use that functions in n2o
keep calm
and use n2o
Andy
@m-2k
Feb 06 2015 15:02
короче я не услышал ответа на вопрос, только про мифическое ограничение внутри ковбоя
Namdak Tonpa
@5HT
Feb 06 2015 15:03
прости
занят просто дико
тут еще этот ESL
Namdak Tonpa
@5HT
Feb 06 2015 15:11
@netch80 добавил проверку на мнезию в примере приложении и убрал зависимость от xmerl
но это уже только в master
netch80
@netch80
Feb 06 2015 15:15
ok, спасибо от имени будущих граблепроходцев :)
Andy
@m-2k
Feb 06 2015 15:17
да не, ну, ты сразу прост говори, что времени нет )
Namdak Tonpa
@5HT
Feb 06 2015 15:22
про ограничение бинарного вебсокет сообщения мы же уже вроде говорили
что в эндпойнтте нужно резать если пришло больше чем нада сразу
работать только с пакетами определенного размера
Namdak Tonpa
@5HT
Feb 06 2015 15:45
@netch80 попробуй новы мастер без мнезии
можно просто вырубить ее в .applist чтобы пакет не удалять
netch80
@netch80
Feb 06 2015 15:55
я для надёжности вычистил всё и пересобрал с нуля. работает и на ESL (без мнезии, хотя каталог под неё создаётся), и на самосборе, и на kerl'ной. R17.4 во всех случаях.
Namdak Tonpa
@5HT
Feb 06 2015 17:02
как это без мнезии работает?
приложение же review не запустится
оно зависит от kvs а kvs от мнезии
вы шо будете ESL сборку n2o делать?
или для себя просто?
netch80
@netch80
Feb 06 2015 17:14
мнезии нет в самом эрланге, с которого запускалось. может, она где-то по цепочке подтянулась.
мне пофиг какая сборка, лишь бы в итоге работало:) а это была проверка.