Size: a a a

Эликсир и Вунш

2019 May 13

TF

Terry Filch in Эликсир и Вунш
задачи как таковой нет, но из слов моего друга писателя на Erlang + этот чат, я сделал вывод, что Erlang/Elixir как раз таки подходят для пушей и всех таких вещей)
источник

AD

Artem Denezhny in Эликсир и Вунш
@terrifilch правильно он сказал, для той "погремущки" которую показали выше

только есть несколько ньюансов, у erlang/elixir для подобной реализации есть все инструменты и эти инструменты из коробки, когда как для Python эти инструменты приходится прикручивать, выдумывать или городить из чего-то стороннего, но

на Python для подобных задач дистрибьюции написано куча фремворков и библиотек, когда другие стэки существенно ему в этом проигрывают

https://python.libhunt.com/packages/distributed-computing
источник

AD

Artem Denezhny in Эликсир и Вунш
и опять же Puthon это ширпотреб (в хорошем понимании этого слова), а Erlang/Elixir это своя песочница для личеого пользования ограниченого круга, но с претензией популизировать свою технологию
источник

TF

Terry Filch in Эликсир и Вунш
Artem Denezhny
и опять же Puthon это ширпотреб (в хорошем понимании этого слова), а Erlang/Elixir это своя песочница для личеого пользования ограниченого круга, но с претензией популизировать свою технологию
источник

AD

Artem Denezhny in Эликсир и Вунш
вот такие дела((
источник

AD

Artem Denezhny in Эликсир и Вунш
@terrifilch хотя наверно есть один фремворк который может тебе в этом помочь, это n2o
только сначало придётся выучить его, а потом собрать в ту систему, которая тебе нужна, ничего сложного))
источник

VM

Valik Mogish in Эликсир и Вунш
Почему last_process_at не меняется? нужно  чтобы он увеличивался на 10 секунд при каждом вызове функции
defmodule Script do
 def start(filepath) do
   with {:ok, content} <- File.read(filepath),
        ids_list <- String.split(content, "\n") do
     last_process_at = Time.utc_now()

     for id <- ids_list do
       last_process_at = Time.add(last_process_at, 10)
       call_this_func(id, last_process_at)
     end
   end
 end

 defp call_this_func(id, process_at) do
   IO.inspect(process_at)
 end
end
источник

RP

Roman Pushkov in Эликсир и Вунш
увеличивался на 10 относительно предыдущего?
источник

RP

Roman Pushkov in Эликсир и Вунш
ну он же нигде у тебя не сохраняется вестимо
источник

NK

ID:476249930 in Эликсир и Вунш
а так можно вообще?
источник

NK

ID:476249930 in Эликсир и Вунш
у ӕликсире есть мутабельные переменные?
источник

RP

Roman Pushkov in Эликсир и Вунш
свёрткой можно всё
источник

RP

Roman Pushkov in Эликсир и Вунш
без мутабельных данных
источник

DR

Dmitry Russ (Aleksandrov) in Эликсир и Вунш
for id <- ids_list, reduce: last_process_at do
 last_process_at ->
       last_process_at = Time.add(last_process_at, 10)
       call_this_func(id, last_process_at)
                last_process_at
end
источник

NK

ID:476249930 in Эликсир и Вунш
ну там скоупы перекрываются видимо
источник

NK

ID:476249930 in Эликсир и Вунш
но в адд то там явно перезапись как в мутабельную переменную
источник

IA

Ilya Averyanov in Эликсир и Вунш
for id <- ids_list, reduce: last_process_at
источник

IA

Ilya Averyanov in Эликсир и Вунш
источник

NK

ID:476249930 in Эликсир и Вунш
нипанятна. ну есть там генератор строки. который не делает ничего. в ӕтом генераторе вызывается перезапись переменной
источник

ŹR

Źmićer Rubinštejn in Эликсир и Вунш
Ilya Averyanov
for id <- ids_list, reduce: last_process_at
Если пользуешься for - это конечно лучший вариант.

Но вот я бы вообще тут for не взял
источник