Просмотр исходного кода

Added a distributed sleep example program.

Paul Downen 13 лет назад
Родитель
Сommit
ca067f29f2
2 измененных файлов с 12 добавлено и 1 удалено
  1. 4 1
      src/ebb_flow.erl
  2. 8 0
      src/sleepy_time.erl

+ 4 - 1
src/ebb_flow.erl

@@ -22,7 +22,7 @@
 	 map_reduce/3, map_reduce/4, map_reduce_split/4]).
 
 %%% Sequencing
--export([seq/1, seq/2]).
+-export([seq/1, seq/2, ignore/1]).
 
 %%% Choice
 -export([cases/1, case_of/2,
@@ -254,6 +254,9 @@ seq(X) ->
 seq(X, Y) ->
     seq([X, Y]).
 
+ignore(N) ->
+    ebb_prim:route(N, []).
+
 %%%-----------------------------------------------------------------------------
 %%% Choice
 %%%-----------------------------------------------------------------------------

+ 8 - 0
src/sleepy_time.erl

@@ -0,0 +1,8 @@
+-module(sleepy_time).
+-export([sleepy_time/1]).
+
+big_sleep(N) ->
+    Sleep = fun() -> timer:sleep(infinity) end,
+    SleepList = lists:duplicate(N, Sleep),
+    ParSleep = ebb_flow:pipe_pars([SleepList, ebb_flow:ignore(N)]),
+    ebb_run:run_distributed(ParSleep).