forked from goodboy/tractor
				
			Add basic module-not-found when opening a ctx eg.
							parent
							
								
									ff3f5959e9
								
							
						
					
					
						commit
						56c19093bb
					
				| 
						 | 
					@ -0,0 +1,40 @@
 | 
				
			||||||
 | 
					import trio
 | 
				
			||||||
 | 
					import tractor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@tractor.context
 | 
				
			||||||
 | 
					async def just_sleep(
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ctx: tractor.Context,
 | 
				
			||||||
 | 
					    **kwargs,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					) -> None:
 | 
				
			||||||
 | 
					    '''
 | 
				
			||||||
 | 
					    Start and sleep.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    '''
 | 
				
			||||||
 | 
					    await ctx.started()
 | 
				
			||||||
 | 
					    await trio.sleep_forever()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					async def main() -> None:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    async with tractor.open_nursery(
 | 
				
			||||||
 | 
					        debug_mode=True,
 | 
				
			||||||
 | 
					    ) as n:
 | 
				
			||||||
 | 
					        portal = await n.start_actor(
 | 
				
			||||||
 | 
					            'ctx_child',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # XXX: we don't enable the current module in order
 | 
				
			||||||
 | 
					            # to trigger `ModuleNotFound`.
 | 
				
			||||||
 | 
					            enable_modules=[],
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        async with portal.open_context(
 | 
				
			||||||
 | 
					            just_sleep,  # taken from pytest parameterization
 | 
				
			||||||
 | 
					        ) as (ctx, sent):
 | 
				
			||||||
 | 
					            raise KeyboardInterrupt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if __name__ == '__main__':
 | 
				
			||||||
 | 
					    trio.run(main)
 | 
				
			||||||
		Loading…
	
		Reference in New Issue