我正在使用Python中的kombu库编写一个简单的生产者代码。还没有完成,我正在尝试遵循Python最佳实践来做。以下是我的代码:
from kombu import Connection, Exchange, Producer, Queue
from time import sleep
from typing import Type
rabbit_url = "amqp://localhost:5672/"
def create_connection(rabbit_url: str) -> Type[Connection]:
return Connection(rabbit_url)
def create_channel(conn: Type[Connection]):
return conn.channel()
conn = create_connection(rabbit_url)
channel = create_channel(conn)
exchange = Exchange("example-exchange", type="direct")
producer = Producer(exchange=exchange, channel=channel, routing_key="BOB")
queue = Queue(name="example-queue", exchange=exchange, routing_key="BOB")
queue.maybe_bind(conn)
queue.declare()
producer.publish("END OF MESSAGE..")
现在问题是关于以下功能:
def create_channel(conn: Type[Connection]):
return conn.channel()
在Python中使用类型提示,如何提示create_channel函数的返回值。我知道它需要一个连接对象,然后在其中调用channel方法。
但是所有这些方法都是在Kombu库的连接类内部定义的。提示此类情况的最佳做法是什么?
请有人引导我进去。