@@ -774,7 +774,7 @@ <h2 id="usage">Usage<a class="headerlink" href="#usage" title="Permanent link">
774774</ ul >
775775< h3 id ="example-using-the-running-status-change-channel "> Example using the running status change channel< a class ="headerlink " href ="#example-using-the-running-status-change-channel " title ="Permanent link "> ¤</ a > </ h3 >
776776< div class ="language-python highlight "> < pre > < span > </ span > < code > < span id ="__span-0-1 "> < a id ="__codelineno-0-1 " name ="__codelineno-0-1 " href ="#__codelineno-0-1 "> </ a > < span class ="kn "> import</ span > < span class ="nn "> os</ span >
777- </ span > < span id ="__span-0-2 "> < a id ="__codelineno-0-2 " name ="__codelineno-0-2 " href ="#__codelineno-0-2 "> </ a > < span class ="kn "> from</ span > < span class ="nn "> frequenz.dispatch</ span > < span class ="kn "> import</ span > < span class ="n "> Dispatcher</ span > < span class =" p " > , </ span > < span class =" n " > RunningState </ span >
777+ </ span > < span id ="__span-0-2 "> < a id ="__codelineno-0-2 " name ="__codelineno-0-2 " href ="#__codelineno-0-2 "> </ a > < span class ="kn "> from</ span > < span class ="nn "> frequenz.dispatch</ span > < span class ="kn "> import</ span > < span class ="n "> Dispatcher</ span >
778778</ span > < span id ="__span-0-3 "> < a id ="__codelineno-0-3 " name ="__codelineno-0-3 " href ="#__codelineno-0-3 "> </ a > < span class ="kn "> from</ span > < span class ="nn "> unittest.mock</ span > < span class ="kn "> import</ span > < span class ="n "> MagicMock</ span >
779779</ span > < span id ="__span-0-4 "> < a id ="__codelineno-0-4 " name ="__codelineno-0-4 " href ="#__codelineno-0-4 "> </ a >
780780</ span > < span id ="__span-0-5 "> < a id ="__codelineno-0-5 " name ="__codelineno-0-5 " href ="#__codelineno-0-5 "> </ a > < span class ="k "> async</ span > < span class ="k "> def</ span > < span class ="nf "> run</ span > < span class ="p "> ():</ span >
@@ -795,29 +795,29 @@ <h3 id="example-using-the-running-status-change-channel">Example using the runni
795795</ span > < span id ="__span-0-20 "> < a id ="__codelineno-0-20 " name ="__codelineno-0-20 " href ="#__codelineno-0-20 "> </ a > < span class ="n "> changed_running_status_rx</ span > < span class ="o "> =</ span > < span class ="n "> dispatcher</ span > < span class ="o "> .</ span > < span class ="n "> running_status_change</ span > < span class ="o "> .</ span > < span class ="n "> new_receiver</ span > < span class ="p "> ()</ span >
796796</ span > < span id ="__span-0-21 "> < a id ="__codelineno-0-21 " name ="__codelineno-0-21 " href ="#__codelineno-0-21 "> </ a >
797797</ span > < span id ="__span-0-22 "> < a id ="__codelineno-0-22 " name ="__codelineno-0-22 " href ="#__codelineno-0-22 "> </ a > < span class ="k "> async</ span > < span class ="k "> for</ span > < span class ="n "> dispatch</ span > < span class ="ow "> in</ span > < span class ="n "> changed_running_status_rx</ span > < span class ="p "> :</ span >
798- </ span > < span id ="__span-0-23 "> < a id ="__codelineno-0-23 " name ="__codelineno-0-23 " href ="#__codelineno-0-23 "> </ a > < span class ="k "> match </ span > < span class ="n "> dispatch</ span > < span class ="o "> .</ span > < span class ="n "> running </ span > < span class ="p " > ( </ span > < span class ="s2 "> "DEMO_TYPE "</ span > < span class ="p "> ) :</ span >
799- </ span > < span id ="__span-0-24 "> < a id ="__codelineno-0-24 " name ="__codelineno-0-24 " href ="#__codelineno-0-24 "> </ a > < span class ="k "> case </ span > < span class =" n " > RunningState </ span > < span class =" o " > . </ span > < span class =" n " > RUNNING </ span > < span class =" p " > : </ span >
800- </ span > < span id ="__span-0-25 "> < a id ="__codelineno-0-25 " name ="__codelineno-0-25 " href ="#__codelineno-0-25 "> </ a > < span class =" nb " > print </ span > < span class =" p " > ( </ span > < span class =" sa " > f </ span > < span class =" s2 " > "Executing dispatch </ span > < span class =" si " > { </ span > < span class =" n " > dispatch </ span > < span class =" o " > . </ span > < span class =" n " > id </ span > < span class =" si " > } </ span > < span class =" s2 " > , due on </ span > < span class =" si " > { </ span > < span class =" n " > dispatch </ span > < span class =" o " > . </ span > < span class =" n " > start_time </ span > < span class =" si " > } </ span > < span class =" s2 " > " </ span > < span class =" p " > ) </ span >
801- </ span > < span id ="__span-0-26 "> < a id ="__codelineno-0-26 " name ="__codelineno-0-26 " href ="#__codelineno-0-26 "> </ a > < span class ="k "> if</ span > < span class ="n "> actor </ span > < span class ="o "> .</ span > < span class ="n "> is_running </ span > < span class ="p "> :</ span >
802- </ span > < span id ="__span-0-27 "> < a id ="__codelineno-0-27 " name ="__codelineno-0-27 " href ="#__codelineno-0-27 "> </ a > < span class ="n "> actor </ span > < span class ="o "> .</ span > < span class ="n "> reconfigure </ span > < span class ="p "> ( </ span >
803- </ span > < span id ="__span-0-28 "> < a id ="__codelineno-0-28 " name ="__codelineno-0-28 " href ="#__codelineno-0-28 "> </ a > < span class ="n " > components </ span > < span class =" o " > = </ span > < span class ="n "> dispatch </ span > < span class ="o "> .</ span > < span class ="n "> target </ span > < span class ="p "> , </ span >
804- </ span > < span id ="__span-0-29 "> < a id ="__codelineno-0-29 " name ="__codelineno-0-29 " href ="#__codelineno-0-29 "> </ a > < span class ="n "> run_parameters </ span > < span class ="o "> = </ span > < span class =" n " > dispatch </ span > < span class =" o " > .</ span > < span class ="n "> payload </ span > < span class ="p "> , </ span > < span class =" c1 " > # custom actor parameters </ span >
805- </ span > < span id ="__span-0-30 "> < a id ="__codelineno-0-30 " name ="__codelineno-0-30 " href ="#__codelineno-0-30 "> </ a > < span class ="n "> dry_run </ span > < span class ="o "> =</ span > < span class ="n "> dispatch</ span > < span class ="o "> .</ span > < span class ="n "> dry_run </ span > < span class ="p "> ,</ span >
806- </ span > < span id ="__span-0-31 "> < a id ="__codelineno-0-31 " name ="__codelineno-0-31 " href ="#__codelineno-0-31 "> </ a > < span class ="n "> until </ span > < span class ="o "> =</ span > < span class ="n "> dispatch</ span > < span class ="o "> .</ span > < span class ="n "> until </ span > < span class ="p "> ,</ span >
807- </ span > < span id ="__span-0-32 "> < a id ="__codelineno-0-32 " name ="__codelineno-0-32 " href ="#__codelineno-0-32 "> </ a > < span class ="p " > ) </ span > < span class ="c1 " > # this will reconfigure the actor </ span >
808- </ span > < span id ="__span-0-33 "> < a id ="__codelineno-0-33 " name ="__codelineno-0-33 " href ="#__codelineno-0-33 "> </ a > < span class ="k " > else </ span > < span class ="p "> : </ span >
809- </ span > < span id ="__span-0-34 "> < a id ="__codelineno-0-34 " name ="__codelineno-0-34 " href ="#__codelineno-0-34 "> </ a > < span class ="c1 "> # this will start a new actor with the given components </ span >
810- </ span > < span id ="__span-0-35 "> < a id ="__codelineno-0-35 " name ="__codelineno-0-35 " href ="#__codelineno-0-35 "> </ a > < span class ="c1 " > # and run it for the duration of the dispatch </ span >
811- </ span > < span id ="__span-0-36 "> < a id ="__codelineno-0-36 " name ="__codelineno-0-36 " href ="#__codelineno-0-36 "> </ a > < span class ="n " > actor </ span > < span class =" o " > . </ span > < span class =" n " > start</ span > < span class =" p " > ( </ span >
812- </ span > < span id ="__span-0-37 "> < a id ="__codelineno-0-37 " name ="__codelineno-0-37 " href ="#__codelineno-0-37 "> </ a > < span class ="n " > components </ span > < span class =" o " > = </ span > < span class =" n " > dispatch </ span > < span class =" o " > . </ span > < span class =" n " > target </ span > < span class =" p " > , </ span >
813- </ span > < span id ="__span-0-38 "> < a id ="__codelineno-0-38 " name ="__codelineno-0-38 " href ="#__codelineno-0-38 "> </ a > < span class ="n "> run_parameters </ span > < span class ="o "> = </ span > < span class =" n " > dispatch </ span > < span class =" o " > .</ span > < span class ="n "> payload </ span > < span class ="p "> , </ span > < span class =" c1 " > # custom actor parameters </ span >
814- </ span > < span id ="__span-0-39 "> < a id ="__codelineno-0-39 " name ="__codelineno-0-39 " href ="#__codelineno-0-39 "> </ a > < span class ="n "> dry_run </ span > < span class ="o "> =</ span > < span class ="n "> dispatch</ span > < span class ="o "> .</ span > < span class ="n "> dry_run </ span > < span class ="p "> ,</ span >
815- </ span > < span id ="__span-0-40 "> < a id ="__codelineno-0-40 " name ="__codelineno-0-40 " href ="#__codelineno-0-40 "> </ a > < span class ="n "> until </ span > < span class ="o "> =</ span > < span class ="n "> dispatch</ span > < span class ="o "> .</ span > < span class ="n "> until </ span > < span class ="p "> ,</ span >
816- </ span > < span id ="__span-0-41 "> < a id ="__codelineno-0-41 " name ="__codelineno-0-41 " href ="#__codelineno-0-41 "> </ a > < span class ="p "> ) </ span >
817- </ span > < span id ="__span-0-42 "> < a id ="__codelineno-0-42 " name ="__codelineno-0-42 " href ="#__codelineno-0-42 "> </ a > < span class ="k " > case </ span > < span class ="n "> RunningState </ span > < span class ="o "> .</ span > < span class ="n "> STOPPED </ span > < span class ="p "> : </ span >
818- </ span > < span id ="__span-0-43 "> < a id ="__codelineno-0-43 " name ="__codelineno-0-43 " href ="#__codelineno-0-43 "> </ a > < span class ="n " > actor </ span > < span class =" o " > . </ span > < span class =" n " > stop </ span > < span class =" p "> () </ span > < span class =" c1 " > # this will stop the actor </ span >
819- </ span > < span id ="__span-0-44 "> < a id ="__codelineno-0-44 " name ="__codelineno-0-44 " href ="#__codelineno-0-44 "> </ a > < span class ="k "> case </ span > < span class =" n " > RunningState </ span > < span class =" o " > . </ span > < span class =" n " > DIFFERENT_TYPE </ span > < span class ="p "> :</ span >
820- </ span > < span id ="__span-0-45 "> < a id ="__codelineno-0-45 " name ="__codelineno-0-45 " href ="#__codelineno-0-45 "> </ a > < span class ="k " > pass </ span > < span class ="c1 "> # dispatch not for this type </ span >
798+ </ span > < span id ="__span-0-23 "> < a id ="__codelineno-0-23 " name ="__codelineno-0-23 " href ="#__codelineno-0-23 "> </ a > < span class ="k "> if </ span > < span class ="n "> dispatch</ span > < span class ="o "> .</ span > < span class ="n "> type </ span > < span class ="o " > != </ span > < span class ="s2 "> "MY_TYPE "</ span > < span class ="p "> :</ span >
799+ </ span > < span id ="__span-0-24 "> < a id ="__codelineno-0-24 " name ="__codelineno-0-24 " href ="#__codelineno-0-24 "> </ a > < span class ="k "> continue </ span >
800+ </ span > < span id ="__span-0-25 "> < a id ="__codelineno-0-25 " name ="__codelineno-0-25 " href ="#__codelineno-0-25 "> </ a >
801+ </ span > < span id ="__span-0-26 "> < a id ="__codelineno-0-26 " name ="__codelineno-0-26 " href ="#__codelineno-0-26 "> </ a > < span class ="k "> if</ span > < span class ="n "> dispatch </ span > < span class ="o "> .</ span > < span class ="n "> started </ span > < span class ="p "> :</ span >
802+ </ span > < span id ="__span-0-27 "> < a id ="__codelineno-0-27 " name ="__codelineno-0-27 " href ="#__codelineno-0-27 "> </ a > < span class =" nb " > print </ span > < span class =" p " > ( </ span > < span class =" sa " > f </ span > < span class =" s2 " > "Executing dispatch </ span > < span class =" si " > { </ span > < span class =" n " > dispatch </ span > < span class ="o " > . </ span > < span class =" n "> id </ span > < span class ="si " > } </ span > < span class =" s2 " > , due on </ span > < span class =" si " > { </ span > < span class =" n " > dispatch </ span > < span class =" o "> .</ span > < span class ="n "> start_time </ span > < span class ="si " > } </ span > < span class =" s2 " > " </ span > < span class =" p "> ) </ span >
803+ </ span > < span id ="__span-0-28 "> < a id ="__codelineno-0-28 " name ="__codelineno-0-28 " href ="#__codelineno-0-28 "> </ a > < span class ="k " > if </ span > < span class ="n "> actor </ span > < span class ="o "> .</ span > < span class ="n "> is_running </ span > < span class ="p "> : </ span >
804+ </ span > < span id ="__span-0-29 "> < a id ="__codelineno-0-29 " name ="__codelineno-0-29 " href ="#__codelineno-0-29 "> </ a > < span class ="n "> actor </ span > < span class ="o "> .</ span > < span class ="n "> reconfigure </ span > < span class ="p "> ( </ span >
805+ </ span > < span id ="__span-0-30 "> < a id ="__codelineno-0-30 " name ="__codelineno-0-30 " href ="#__codelineno-0-30 "> </ a > < span class ="n "> components </ span > < span class ="o "> =</ span > < span class ="n "> dispatch</ span > < span class ="o "> .</ span > < span class ="n "> target </ span > < span class ="p "> ,</ span >
806+ </ span > < span id ="__span-0-31 "> < a id ="__codelineno-0-31 " name ="__codelineno-0-31 " href ="#__codelineno-0-31 "> </ a > < span class ="n "> run_parameters </ span > < span class ="o "> =</ span > < span class ="n "> dispatch</ span > < span class ="o "> .</ span > < span class ="n "> payload </ span > < span class ="p "> ,</ span > < span class =" c1 " > # custom actor parameters </ span >
807+ </ span > < span id ="__span-0-32 "> < a id ="__codelineno-0-32 " name ="__codelineno-0-32 " href ="#__codelineno-0-32 "> </ a > < span class ="n " > dry_run </ span > < span class =" o " > = </ span > < span class =" n " > dispatch </ span > < span class ="o " > . </ span > < span class =" n " > dry_run </ span > < span class =" p " > , </ span >
808+ </ span > < span id ="__span-0-33 "> < a id ="__codelineno-0-33 " name ="__codelineno-0-33 " href ="#__codelineno-0-33 "> </ a > < span class ="n " > until </ span > < span class ="o " > = </ span > < span class =" n " > dispatch </ span > < span class =" o " > . </ span > < span class =" n " > until </ span > < span class =" p "> , </ span >
809+ </ span > < span id ="__span-0-34 "> < a id ="__codelineno-0-34 " name ="__codelineno-0-34 " href ="#__codelineno-0-34 "> </ a > < span class =" p " > ) </ span > < span class ="c1 "> # this will reconfigure the actor </ span >
810+ </ span > < span id ="__span-0-35 "> < a id ="__codelineno-0-35 " name ="__codelineno-0-35 " href ="#__codelineno-0-35 "> </ a > < span class ="k " > else </ span > < span class =" p " > : </ span >
811+ </ span > < span id ="__span-0-36 "> < a id ="__codelineno-0-36 " name ="__codelineno-0-36 " href ="#__codelineno-0-36 "> </ a > < span class ="c1 " > # this will start a new actor with the given components </ span >
812+ </ span > < span id ="__span-0-37 "> < a id ="__codelineno-0-37 " name ="__codelineno-0-37 " href ="#__codelineno-0-37 "> </ a > < span class ="c1 " > # and run it for the duration of the dispatch </ span >
813+ </ span > < span id ="__span-0-38 "> < a id ="__codelineno-0-38 " name ="__codelineno-0-38 " href ="#__codelineno-0-38 "> </ a > < span class ="n "> actor </ span > < span class ="o "> .</ span > < span class ="n "> start </ span > < span class ="p "> ( </ span >
814+ </ span > < span id ="__span-0-39 "> < a id ="__codelineno-0-39 " name ="__codelineno-0-39 " href ="#__codelineno-0-39 "> </ a > < span class ="n "> components </ span > < span class ="o "> =</ span > < span class ="n "> dispatch</ span > < span class ="o "> .</ span > < span class ="n "> target </ span > < span class ="p "> ,</ span >
815+ </ span > < span id ="__span-0-40 "> < a id ="__codelineno-0-40 " name ="__codelineno-0-40 " href ="#__codelineno-0-40 "> </ a > < span class ="n "> run_parameters </ span > < span class ="o "> =</ span > < span class ="n "> dispatch</ span > < span class ="o "> .</ span > < span class ="n "> payload </ span > < span class ="p "> ,</ span > < span class =" c1 " > # custom actor parameters </ span >
816+ </ span > < span id ="__span-0-41 "> < a id ="__codelineno-0-41 " name ="__codelineno-0-41 " href ="#__codelineno-0-41 "> </ a > < span class ="n " > dry_run </ span > < span class =" o " > = </ span > < span class =" n " > dispatch </ span > < span class =" o " > . </ span > < span class =" n " > dry_run </ span > < span class =" p "> , </ span >
817+ </ span > < span id ="__span-0-42 "> < a id ="__codelineno-0-42 " name ="__codelineno-0-42 " href ="#__codelineno-0-42 "> </ a > < span class ="n " > until </ span > < span class =" o " > = </ span > < span class ="n "> dispatch </ span > < span class ="o "> .</ span > < span class ="n "> until </ span > < span class ="p "> , </ span >
818+ </ span > < span id ="__span-0-43 "> < a id ="__codelineno-0-43 " name ="__codelineno-0-43 " href ="#__codelineno-0-43 "> </ a > < span class ="p "> ) </ span >
819+ </ span > < span id ="__span-0-44 "> < a id ="__codelineno-0-44 " name ="__codelineno-0-44 " href ="#__codelineno-0-44 "> </ a > < span class ="k "> else </ span > < span class ="p "> :</ span >
820+ </ span > < span id ="__span-0-45 "> < a id ="__codelineno-0-45 " name ="__codelineno-0-45 " href ="#__codelineno-0-45 "> </ a > < span class =" n " > actor </ span > < span class =" o " > . </ span > < span class =" n " > stop </ span > < span class ="p " > () </ span > < span class ="c1 "> # this will stop the actor </ span >
821821</ span > </ code > </ pre > </ div >
822822< h2 id ="supported-platforms "> Supported Platforms< a class ="headerlink " href ="#supported-platforms " title ="Permanent link "> ¤</ a > </ h2 >
823823< p > The following platforms are officially supported (tested):</ p >
0 commit comments