这个库是Game Analytics贡献的。该库实现了一个通用的用于处理集群中任务的调度器。任务的生成和处理是专为特定的应用。客户端传递一个需要被执行的回调函数作为入参,调度器会通过消息返回任务的状态。
execute(SchedulerName, MFA = {Mod, Fun, Args}) | | v .--->[ Pending ]---. | | node down spawn worker | | `---[ Running ]<---'-----------. | | | | exception retry | | | | `--->[ Failed ]---' success | | | max retries MFA called | exceeded throw(gascheduler_permanent_failure) | | | | v | | {error, max_retries} | | v | {error, permanent_failure} v {ok, Result = apply(Mod, Fun, Args)}