Redis сообшения конвертируем в веб сокет

25 views
Skip to first unread message

Denis Volokh

unread,
Jun 4, 2015, 11:45:06 AM6/4/15
to erlang-i...@googlegroups.com
Всем привет!

В целях самообразования и практики решил написать небольшое приложение, которое бы давало доступ к сообщениям Redis через вебсокеты. 
Пользователь подключается к вебсокету, посылает команду (SUBSCRIBE, канал1) подписаться на такой-то канал и все сообщения с этого Redis канала будут приходить в этот сокет.  

Может быть кто-то знаком с WebDis (https://github.com/nicolasff/webdis), так вот это что-то подобное только урезанное до сообщений.

Проект лежит на https://github.com/denisvolokh/redis2socket, в идеале хотелось бы чтобы кто-то посмотрел код, может заметите серьезные ошибки, покритикуете :)

Как стартовать проект:
1. make deps
2. make compile
3. make run

Сергій Костюшкін

unread,
Jun 5, 2015, 5:04:10 AM6/5/15
to erlang-i...@googlegroups.com, barma...@gmail.com
Форматирование кода не очень удобное, и нет API модуля. О конвенциях принятых в Erlang можно почитать тут: http://www.erlang.se/doc/programming_rules.shtml

Или посмотреть как форматируется код в популярных проуктах, том же ковбое например.


четвер, 4 червня 2015 р. 18:45:06 UTC+3 користувач Denis Volokh написав:

Denis Volokh

unread,
Jun 5, 2015, 5:11:43 AM6/5/15
to erlang-i...@googlegroups.com
Спасибо, на счет конвенции почитаю, а что за API модуль?

Kind regards,
Denis Volokh

--
Ви отримали це повідомлення, оскільки ви підписані на тему в групі "Erlang в Україні" у Групах Google.
Щоб скасувати підписку на цю тему, перейдіть за посиланням https://groups.google.com/d/topic/erlang-in-ukraine/9WMh9qYbcOE/unsubscribe.
Щоб скасувати підписку на цю групу та всі її теми, надішліть електронний лист на адресу erlang-in-ukra...@googlegroups.com.
Щоб опублікувати допис у цій групі, надішліть електронний лист на адресу erlang-i...@googlegroups.com.
Перейдіть до цієї групи за посиланням http://groups.google.com/group/erlang-in-ukraine.

Сергій Костюшкін

unread,
Jun 5, 2015, 5:34:56 AM6/5/15
to erlang-i...@googlegroups.com, barma...@gmail.com
Ну если у тебя апликейшен или либа называется demo к примеру, то очень удобно разбиратся с тем что она умеет по модулю с одоименным названием в который выносится весь функционал который либа или ап умеет делать, если она просто запускается и все дальше на хендлерах построено то просто создай модуль в котором будут start и stop, Например так:

-module(demo).

%% API
-export([start/0, stop/0]).

%% API
start() ->
    start(?MODULE).

stop() ->
    application:stop(?MODULE).

%% internal
start(AppName) ->
    F = fun({App, _, _}) -> App end,
    RunningApps = lists:map(F, application:which_applications()),
    ok = load(AppName),
    {ok, Dependencies} = application:get_key(AppName, applications),
    [begin
        ok = start(A)
    end || A <- Dependencies, not lists:member(A, RunningApps)],
    ok = application:start(AppName).

load(AppName) ->
    F = fun({App, _, _}) -> App end,
    LoadedApps = lists:map(F, application:loaded_applications()),
    case lists:member(AppName, LoadedApps) of
        true ->
            ok;
        false ->
            ok = application:load(AppName)
    end.




пʼятниця, 5 червня 2015 р. 12:11:43 UTC+3 користувач Denis Volokh написав:
Спасибо, на счет конвенции почитаю, а что за API модуль?

Kind regards,
Denis Volokh

2015-06-05 17:04 GMT+08:00 Сергій Костюшкін :
Форматирование кода не очень удобное, и нет API модуля. О конвенциях принятых в Erlang можно почитать тут: http://www.erlang.se/doc/programming_rules.shtml

Или посмотреть как форматируется код в популярных проуктах, том же ковбое например.


четвер, 4 червня 2015 р. 18:45:06 UTC+3 користувач Denis Volokh написав:
Всем привет!

В целях самообразования и практики решил написать небольшое приложение, которое бы давало доступ к сообщениям Redis через вебсокеты. 
Пользователь подключается к вебсокету, посылает команду (SUBSCRIBE, канал1) подписаться на такой-то канал и все сообщения с этого Redis канала будут приходить в этот сокет.  

Может быть кто-то знаком с WebDis (https://github.com/nicolasff/webdis), так вот это что-то подобное только урезанное до сообщений.

Проект лежит на https://github.com/denisvolokh/redis2socket, в идеале хотелось бы чтобы кто-то посмотрел код, может заметите серьезные ошибки, покритикуете :)

Как стартовать проект:
1. make deps
2. make compile
3. make run

--
Ви отримали це повідомлення, оскільки ви підписані на тему в групі "Erlang в Україні" у Групах Google.
Щоб скасувати підписку на цю тему, перейдіть за посиланням https://groups.google.com/d/topic/erlang-in-ukraine/9WMh9qYbcOE/unsubscribe.
Щоб скасувати підписку на цю групу та всі її теми, надішліть електронний лист на адресу erlang-in-ukraine+unsubscribe@googlegroups.com.
Щоб опублікувати допис у цій групі, надішліть електронний лист на адресу erlang-in-ukraine@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages