Я пишу простой код производителя, используя библиотеку комбу в Python. Он еще не завершен, и я пытаюсь следовать рекомендациям 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. Я знаю, что он принимает объект соединения и затем вызывает внутри него метод канала.
Но все эти методы определены внутри соединениякласс в библиотеке Комбу. Каковы лучшие практики для намека шрифтов на такие случаи.
Пожалуйста, кто-нибудь подскажет мне.