defmodule Distributor.Server do @moduledoc """ A server to distribute tasks to calculation servers. """ # def is_there_a_22(a) do # Enum.any?(a, fn(item) -> item == "22" end.) #end def test_fun(data) do point1 = data[:point1] indice1 = data[:indice1] translate1 = data[:translate1] rotate1 = data[:rotate1] point2 = data[:point2] indice2 = data[:indice2] translate2 = data[:translate2] rotate2 = data[:rotate2] margin = data[:margin] result = Collision.Detector.collision_detect(point1, indice1, translate1, rotate1,point2,indice2, translate2, rotate2, margin) result == 2 end def map( task_data, task_fun) do parent = self() processes = Enum.map(task_data, fn(e) -> spawn_link( fn() -> send(parent, {self(), task_fun.(e)}) end) end) Enum.any?( processes, fn(pid) -> receive do {^pid, result} -> result end end) end end