@proelixir

Страница 56 из 1045
Константин
09.08.2016
08:19:04
я еще с загруженностью не определился, там будет генерироваться от 40к http запросов

а как потом его заставлять делать свою работу?

Вешать таймауты?

Dmitry
09.08.2016
08:21:09
По расписанию

Google
Константин
09.08.2016
08:23:11
И последнее, деплоить чистый код и запускать через mix run или делать exrm сборку?

На серваке сейчас нету ни эрланга, не эликсира

Dmitry
09.08.2016
08:23:48
Без разницы

Константин
09.08.2016
08:24:17
попробую exrm, тестил только локально, хочу в бою посмотреть

Dmitry
09.08.2016
08:24:41
Edeliver использует exrm

Константин
09.08.2016
08:24:59
Доставлять сборку я могу через простой гит репозиторий

там не нужно никаких хотсвапов и т.д.

простым пулом

Отпишусь, что плучится)))

Dmitry
09.08.2016
08:29:22
Я сейчас просто заканчиваю статью про edeliver

Константин
09.08.2016
08:46:38
Мм!! Кинь потом ссылку

На хабре??

Dmitry
09.08.2016
08:46:57
Да

Google
Константин
09.08.2016
08:48:55
Подскажите еще один момент, я только теорию знаю, практики пока мало. Я сгенериовал приложение через mix new PATH —sup

И по сути мне нужно добавить worker(Module.Parser, [])

И в нем реализовывать логику

Так же это делается?)

Или start_link от worker должен возвращать {:ok} и что-то там еще?

Dmitry
09.08.2016
08:51:21
У модуля вызывается start_link

Ok и пид

В виде тюпла

Константин
09.08.2016
08:52:43
походу я неправильно все делаю

Константин
09.08.2016
08:52:59
не могу понять где логику писать

но pid опять-же надо взять откуда-то..

да генсервер то и не нужен))

Dmitry
09.08.2016
08:54:10
Genserver startlink

Это возвращает

Как не нужен

Константин
09.08.2016
08:54:51
Он же занимается хранением стэйта

Смотрите.. мне нужно просто сделать http запрос и сохранить данные в базу

GenServer то что тут делать будет?

Или в нем логику писать??

Google
Константин
09.08.2016
08:57:55
Обычно в книгах пишут только про хранение стэйта и все

Понимаю, вопросы может и дибильные, но я пока не вкурил как правильно юзать OTP

Dmitry
09.08.2016
08:59:24
Просто посылаешь каст в генсервера

И пишешь в хэндлкаст всю бизнеслогику

Конец

Константин
09.08.2016
09:00:05
+1 понял!

Но не понял где должен происходить каст..

def application do [applications: [:logger], mod: {Tourvisor, []}] end

ага, вот понятнее))

Dmitry
09.08.2016
09:01:51
Не, не так

Константин
09.08.2016
09:01:59
))) хаха

Dmitry
09.08.2016
09:02:01
Надо написать функцию work

Которая будет слать каст

А потом в этом кроне указать имя модуля твоего и функцию work

Def work do Genserver.cast {:work} End

Ну там пид ещё пропустил

Константин
09.08.2016
09:03:42
Это я сделаю, имя задам изначальное

Да, я буду глушить после работы

вот так))

Странная фигня, может у меня с английским плохо

Google
Константин
09.08.2016
09:26:18
http://elixir-lang.org/docs/stable/elixir/GenServer.html#c:init/1

Но инит выполняется до запуска генсервера??

Т.е. в нем не получится начать работу?

Точно, написали же про handle_info

туплю

Воу)))) крутая штука

http://joxi.ru/1A5RkD3uKjPpkr

Вот этот код возвращает 4 раза Я начинаю работу и отрубаюсь

Это из-за 4х ядерной системы?))))

Так выглядит app http://joxi.ru/RmzvMd0FWebZvm

Dmitry
09.08.2016
09:40:08
Косяк в send(self

Константин
09.08.2016
09:40:18
Получается, что логика будет запускаться 4 раза))?

Dmitry
09.08.2016
09:40:40
Надо send(Parser

Константин
09.08.2016
09:41:11
один фиг 4 раза

Оо.. дело вот в чем.. http://joxi.ru/eAO5ogXU4Xgj4m

Там надо было правильный return сделать

теперь все отрабатывает один раз

Теперь вопрос, а зачем все это? Создается дерево супервизора, при возникновении ошибки он перезапустит процесс.

Страница 56 из 1045