Something went wrong. Try again.
Assemble a crew of worker processes to tackle your computational tasks.
Something went wrong. Try again.
123456789101112131415161718192021222324252627-module(crew_ffi).-export([identity/1, scheduler_count/0, system_time/0]).-export([get_counter/1, set_counter/2, increment_counter/2, decrement_counter/2]).
identity(X) -> X.scheduler_count() -> erlang:system_info(schedulers_online).system_time() -> os:system_time(millisecond).
get_counter(Name) -> case persistent_term:get(Name, undefined) of undefined -> 0; Counter -> counters:get(Counter, 1) end.
set_counter(Name, Value) -> case persistent_term:get(Name, undefined) of undefined -> Counter = counters:new(1, []), counters:put(Counter, 1, Value), persistent_term:put(Name, Counter);
Counter -> counters:put(Counter, 1, Value) end.
increment_counter(Name, Incr) -> counters:add(persistent_term:get(Name), 1, Incr).decrement_counter(Name, Decr) -> counters:sub(persistent_term:get(Name), 1, Decr).