| 1 |
|
-module(shurbej_web_sup). |
| 2 |
|
-behaviour(supervisor). |
| 3 |
|
|
| 4 |
|
-export([start_link/0, init/1]). |
| 5 |
|
|
| 6 |
|
start_link() -> |
| 7 |
1 |
supervisor:start_link({local, ?MODULE}, ?MODULE, []). |
| 8 |
|
|
| 9 |
|
init([]) -> |
| 10 |
1 |
Children = [ |
| 11 |
|
%% pg scope for streaming pub/sub — first so subsequent workers can |
| 12 |
|
%% assume it exists. pg:start_link/1 starts the named scope process. |
| 13 |
|
#{id => shurbej_stream_pg, |
| 14 |
|
start => {pg, start_link, [shurbej_stream]}, |
| 15 |
|
type => worker}, |
| 16 |
|
#{id => shurbej_rate_limit, |
| 17 |
|
start => {shurbej_rate_limit, start_link, []}, |
| 18 |
|
type => worker}, |
| 19 |
|
#{id => shurbej_session, |
| 20 |
|
start => {shurbej_session, start_link, []}, |
| 21 |
|
type => worker}, |
| 22 |
|
#{id => shurbej_write_token, |
| 23 |
|
start => {shurbej_write_token, start_link, []}, |
| 24 |
|
type => worker}, |
| 25 |
|
#{id => shurbej_session_cleaner, |
| 26 |
|
start => {shurbej_session_cleaner, start_link, []}, |
| 27 |
|
type => worker} |
| 28 |
|
], |
| 29 |
1 |
{ok, {#{strategy => one_for_one, intensity => 5, period => 10}, Children}}. |