BrokerageConcurrentMessageHandler
QuantConnect.Brokerages.BrokerageConcurrentMessageHandler
BrokerageConcurrentMessageHandler(
process_messages: Callable[
[
QuantConnect_Brokerages_BrokerageConcurrentMessageHandler_T
],
Any,
],
)
BrokerageConcurrentMessageHandler(
process_messages: Callable[
[
QuantConnect_Brokerages_BrokerageConcurrentMessageHandler_T
],
Any,
],
concurrency_enabled: bool,
)
Bases: Generic[QuantConnect_Brokerages_BrokerageConcurrentMessageHandler_T], Object, IDisposable
Brokerage helper class to lock message stream while executing an action, for example placing an order
Creates a new instance
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
process_messages
|
Callable[[QuantConnect_Brokerages_BrokerageConcurrentMessageHandler_T], Any]
|
The action to call for each new message |
required |
concurrency_enabled
|
Optional[bool]
|
Whether to enable concurrent order submission |
None
|
dispose
dispose() -> None
Disposes of the resources used by this instance
handle_new_message
handle_new_message(
message: QuantConnect_Brokerages_BrokerageConcurrentMessageHandler_T,
) -> None
Will process or enqueue a message for later processing it
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
message
|
QuantConnect_Brokerages_BrokerageConcurrentMessageHandler_T
|
The new message |
required |
with_locked_stream
with_locked_stream(code: Callable[[], Any]) -> None
Lock the streaming processing while we're sending orders as sometimes they fill before the call returns.