You can find information about all options in the official RabbitMQ documentation:
https://www.rabbitmq.com/docs/queues
Initialize the RabbitMQ queue.
:param name: RabbitMQ queue name. :param durable: Whether the object is durable. :param exclusive: The queue can be used only in the current connection and will be deleted after connection closed. :param passive: Do not create queue automatically. :param auto_delete: The queue will be deleted after connection closed. :param arguments: Queue declaration arguments. You can find information about them in the official RabbitMQ documentation: https://www.rabbitmq.com/docs/queues#optional-arguments :param timeout: Send confirmation time from RabbitMQ. :param robust: Whether to declare queue object as restorable. :param bind_arguments: Queue-exchange binding options. :param routing_key: Explicit binding routing key. Uses name if not presented.
def__init__(self,name:str,queue_type:QueueType=QueueType.CLASSIC,durable:bool=EMPTY,exclusive:bool=False,passive:bool=False,auto_delete:bool=False,arguments:Union["QuorumQueueArgs","ClassicQueueArgs","StreamQueueArgs","AnyDict",None,]=None,timeout:"TimeoutType"=None,robust:bool=True,bind_arguments:Optional["AnyDict"]=None,routing_key:str="",)->None:"""Initialize the RabbitMQ queue. :param name: RabbitMQ queue name. :param durable: Whether the object is durable. :param exclusive: The queue can be used only in the current connection and will be deleted after connection closed. :param passive: Do not create queue automatically. :param auto_delete: The queue will be deleted after connection closed. :param arguments: Queue declaration arguments. You can find information about them in the official RabbitMQ documentation: https://www.rabbitmq.com/docs/queues#optional-arguments :param timeout: Send confirmation time from RabbitMQ. :param robust: Whether to declare queue object as restorable. :param bind_arguments: Queue-exchange binding options. :param routing_key: Explicit binding routing key. Uses name if not presented. """re,routing_key=compile_path(routing_key,replace_symbol="*",patch_regex=lambdax:x.replace(r"\#",".+"),)ifqueue_typeisQueueType.QUORUMorqueue_typeisQueueType.STREAM:ifdurableisEMPTY:durable=Trueelifnotdurable:raiseSetupError("Quorum and Stream queues must be durable")elifdurableisEMPTY:durable=Falsesuper().__init__(name)self.path_regex=reself.durable=durableself.exclusive=exclusiveself.bind_arguments=bind_argumentsself.routing_key=routing_keyself.robust=robustself.passive=passiveself.auto_delete=auto_deleteself.arguments={"x-queue-type":queue_type.value,**(argumentsor{})}self.timeout=timeout
@classmethoddefvalidate(cls:Type[NameRequiredCls],value:Union[str,NameRequiredCls,None],**kwargs:Any,)->Optional[NameRequiredCls]:"""Factory to create object."""ifvalueisnotNoneandisinstance(value,str):value=cls(value,**kwargs)returnvalue