@@ -70,7 +70,9 @@ func ExampleResourceLimiter_Use() {
7070}
7171
7272func ExampleMultiResourcePoolLimiter () {
73- ctx := contexts .WithCRE (context .Background (), contexts.CRE {Org : "orgID" , Owner : "ownerID" , Workflow : "workflowID" })
73+ ctx , cancel := context .WithTimeout (context .Background (), time .Second )
74+ defer cancel ()
75+ ctx = contexts .WithCRE (ctx , contexts.CRE {Org : "orgID" , Owner : "owner-id" , Workflow : "workflowID" })
7476 global := GlobalResourcePoolLimiter [int ](100 )
7577 freeGlobal , err := global .Wait (ctx , 95 )
7678 if err != nil {
@@ -93,12 +95,11 @@ func ExampleMultiResourcePoolLimiter() {
9395 }
9496 multi := MultiResourcePoolLimiter [int ]{global , org , user , workflow }
9597 tryWork := func () error {
96- free , err := multi .Use (ctx , 10 )
98+ err := multi .Use (ctx , 10 )
9799 if err != nil {
98100 return err
99101 }
100- defer free ()
101- return nil
102+ return multi .Free (ctx , 10 )
102103 }
103104
104105 fmt .Println (tryWork ())
@@ -110,15 +111,15 @@ func ExampleMultiResourcePoolLimiter() {
110111 fmt .Println (tryWork ())
111112 freeWorkflow ()
112113 fmt .Println (tryWork ())
113- done , err := multi .Wait (ctx , 10 )
114+ free , err := multi .Wait (ctx , 10 )
114115 if err != nil {
115116 log .Fatal (err )
116117 }
117- done ()
118+ free ()
118119 // Output:
119120 // resource limited: cannot use 10, already using 95/100
120121 // resource limited for org[orgID]: cannot use 10, already using 45/50
121- // resource limited for owner[ownerID ]: cannot use 10, already using 15/20
122+ // resource limited for owner[owner-id ]: cannot use 10, already using 15/20
122123 // resource limited for workflow[workflowID]: cannot use 10, already using 5/10
123124 // <nil>
124125}
0 commit comments