@@ -8,32 +8,40 @@ async def main():
88 t0 = datetime .datetime .now ()
99 print (colorama .Fore .WHITE + "App started." , flush = True )
1010
11- data = trio .Queue (capacity = 10 )
11+ """
12+ trio.Queue was removed in v0.11.0:
13+ - Replacing the call to trio.Queue() by trio.open_memory_channel()
14+ - Using a MemorySendChannel object in generate_data function
15+ - Using a MemoryReceiveChannel object in process_data function
16+ - Updating requirements.txt with trio v0.16.0 and trio_asyncio v0.11.0
17+ """
18+
19+ send_channel , receive_channel = trio .open_memory_channel (max_buffer_size = 10 )
1220
1321 with trio .move_on_after (5 ):
1422 async with trio .open_nursery () as nursery :
15- nursery .start_soon (generate_data , 20 , data , name = 'Prod 1' )
16- nursery .start_soon (generate_data , 20 , data , name = 'Prod 2' )
17- nursery .start_soon (process_data , 40 , data , name = 'Consumer' )
23+ nursery .start_soon (generate_data , 20 , send_channel , name = 'Prod 1' )
24+ nursery .start_soon (generate_data , 20 , send_channel , name = 'Prod 2' )
25+ nursery .start_soon (process_data , 40 , receive_channel , name = 'Consumer' )
1826
1927 dt = datetime .datetime .now () - t0
2028 print (colorama .Fore .WHITE + "App exiting, total time: {:,.2f} sec." .format (
2129 dt .total_seconds ()), flush = True )
2230
2331
24- async def generate_data (num : int , data : trio .Queue ):
32+ async def generate_data (num : int , data : trio .MemorySendChannel ):
2533 for idx in range (1 , num + 1 ):
2634 item = idx * idx
27- await data .put ((item , datetime .datetime .now ()))
35+ await data .send ((item , datetime .datetime .now ()))
2836
2937 print (colorama .Fore .YELLOW + f" -- generated item { idx } " , flush = True )
3038 await trio .sleep (random .random () + .5 )
3139
3240
33- async def process_data (num : int , data : trio .Queue ):
41+ async def process_data (num : int , data : trio .MemoryReceiveChannel ):
3442 processed = 0
3543 while processed < num :
36- item = await data .get ()
44+ item = await data .receive ()
3745
3846 processed += 1
3947 value = item [0 ]
0 commit comments