These are chat archives for synrc/n2o

19th
Jun 2016
Maruthavanan Subbaryan
@marutha
Jun 19 2016 02:48
Thanks @m-2k , but I am how should I approach this?
  1. Get the browser timezone(keep it in a state) and convert and update the HTML elements? OR
  2. Do everything as UTC in server and do the conversion in browser using JS?
Roman
@AstRonin
Jun 19 2016 08:08
get data from browser, save date(to state or DB) as utc(convert from timezone of user) and keep timezone of user, then when you will generate html(or js), convert date to timezone of user
rusjava8
@rusjava8
Jun 19 2016 16:09
Всем привет!
  1. Кто знает как повесить два сайта на n2o на одном айпи?
  2. Как забекапить базу на мнезии?
    Спасибо.
Andy
@m-2k
Jun 19 2016 16:14
Наркоман чтоли
Референс мнезии не говорит как бэкапить?
rusjava8
@rusjava8
Jun 19 2016 16:15
:)
Andy
@m-2k
Jun 19 2016 16:16
Можешь поставить на zfs и теневые копии снимать
rusjava8
@rusjava8
Jun 19 2016 16:19
По мнезии я имел ввиду в kvs есть что то для бекапа. А по первому вопросу как быть?
Andy
@m-2k
Jun 19 2016 16:38
Запускай два инстанса ковбоя. Но лучше две разных VM
rusjava8
@rusjava8
Jun 19 2016 16:38
This message was deleted
Две копии VM Erlang? А как это сделать, подскажи.
rusjava8
@rusjava8
Jun 19 2016 16:45
А в одном экземпляре n2o можно привязать два разных айпи на одной машине к двум разным доменам?
Andy
@m-2k
Jun 19 2016 16:46
Что ты хочешь
rusjava8
@rusjava8
Jun 19 2016 16:47
Я хочу одним экземпляром фреймворка рулить двумя доменами на одном сервере
Andy
@m-2k
Jun 19 2016 16:49
Поставь nginx и гугли proxy_pass
rusjava8
@rusjava8
Jun 19 2016 16:50
Думал без nginx есть возможность. Понял. Спасибо. :)
Andy
@m-2k
Jun 19 2016 16:57
Ну тогда 2 раза ковбой запускай
rusjava8
@rusjava8
Jun 19 2016 16:58
Попробую)
Andy
@m-2k
Jun 19 2016 16:58
Хотя не, зачем два, на одном же порту
rusjava8
@rusjava8
Jun 19 2016 16:59
ну для одного 80, а для другого 443 можн
Andy
@m-2k
Jun 19 2016 16:59
Ты хотя бы одно приложение запускал когда нибудь?
rusjava8
@rusjava8
Jun 19 2016 16:59
Одно да
Andy
@m-2k
Jun 19 2016 17:00
В самплах же всё есть, в конфиге ковбоя указывай два домена и редиректь на нужные хендлеры в свои приложения
Вместо '_' можно написать имя домена )
rusjava8
@rusjava8
Jun 19 2016 17:29
Ага, это и читаю...
rusjava8
@rusjava8
Jun 19 2016 18:27
Что то не вышло, спасибо, позже ещё попробую.
Andy
@m-2k
Jun 19 2016 18:46
я разделял на уровне портов, но отказался от такой затеи позже
тебе надо сделать файл с общим роутингом
и пробрасывать данные уже в твои приложения на основе имени домена
-export([init/2, finish/2]).

finish(State, Ctx) -> {ok, State, Ctx}.

init(State, Ctx) ->
    Req=Ctx#cx.req,
    {Port,_Req2} = cowboy_req:port(Req),
    case Port of
        8000 -> {ok, State, Ctx#cx{module=index}};
        8001 -> app2_routes:init(State,Ctx);
        8002 -> app3_routes:init(State,Ctx)
    end.
вот например для портов, тебе ж надо от ковбоя получить имя домена и сделать такой же паттерн матчинг
rusjava8
@rusjava8
Jun 19 2016 18:50
а если порт одинаковый
Andy
@m-2k
Jun 19 2016 18:51
перечитай заново. завтра напишешь если всё еще не поймешь
rusjava8
@rusjava8
Jun 19 2016 18:51
Хорошо. Спасибо.
Andy
@m-2k
Jun 19 2016 18:53
http://ninenines.eu/docs/en/cowboy/1.0/guide/routing/
читай то что около HostMatch = ":subdomain.example.org".
rusjava8
@rusjava8
Jun 19 2016 18:54
Понял, буду изучать)
cowboy_router:compile([
    {"localhost", [
        {"/", hello_h, []},
        {"/echo/:key", echo_h, []}
    ]},
    {"127.0.0.1", [{"/echo/:key", echo_h, []}]},
    {"example.org", [{"/echo/:key", echo_h, []}]}
]).
что там изучать, тебе осталось домен вынуть из Req ковбоя и всё
Andy
@m-2k
Jun 19 2016 19:02
init(State, Ctx) ->
    {Host,_Req2} = cowboy_req:host(Ctx#cx.req),
    case Host of
        "localhost" -> {ok, State, Ctx#cx{module=index}};
        "example.org" -> app2_routes:init(State,Ctx)
    end.
примерно так, ящитаю
rusjava8
@rusjava8
Jun 19 2016 19:33
Отлично! Спасибище, отпишусь о результатах)