Current purely async implementation of request handler is not capable of triggering timeout for blocking sync code. Such code is created by users and we have no control over it. So we can't expect only async blocking code.
Following simple user defined handler can't currently trigger timeout even if it should.
@crawler.router.default_handler
async def handler(context: BasicCrawlingContext) -> None:
time.sleep(some_big_time)