Open sschiessl-bcp opened 3 years ago
I don't see why it shouldn't. Feel free to submit a PR and we'll test it out.
I don't see why it shouldn't. Feel free to submit a PR and we'll test it out.
done
@sschiessl-bcp thank you for your issue. I have few notes connected to this issue:
default_channel
property has special semantics different from connect()
and channel()
methods - it blocks until connection is made by default (channel()
/connect()
fails with exception)_ensure_connection()
which is used only in default_channel
and hence point 1.transport_options
to _ensure_connection()
:
https://github.com/celery/kombu/blob/56e88dc275831196ca396fce81275ac687d1207b/kombu/connection.py#L827-L839
My personal view on this is that it is good to introduce mechanism for controlling default_channel
semantics but transport_options
are not the right place. They are supposed to inject parameters directly to transport subsystem (Redis, py-amqp lib etc.). Even because it is not clear that it is just parameters for default_channel
property.timeout
parameter is timeout for overall retrying (e.g. you have multiple brokers in connection string and the timeout covers total time of waiting for new connection). This is different to connect_timeout
parameter which is timeout for creating connection to single broker:
https://github.com/celery/kombu/blob/56e88dc275831196ca396fce81275ac687d1207b/kombu/connection.py#L81
Hence, as mentioned in PR I prefer to rename this parameter to something more describing - e.g. total_timeout
, retry_timeout
, default_channel_timeout
etc.Hi @thedrow, @Nusnus, @auvipy ,
To me is seems that #1599 already sets the timeout parameter (though based on connect_retry_timeout). Merging the PR #1229 would create a double configuration or conflicting one. Perhaps this can be closed or perhaps #1599 does not use the correct naming (problem it is already released).
Also see #1458 and #1298 which seem related.
With kind regards,
Frank
Please have a look here https://github.com/celery/kombu/pull/1229#issuecomment-2188830306
Considering that, I do think the timeout
option should be renamed at this point, and the wording as well as documentation streamlined with the other ways on how this option can be set.
What do you think?
Is there a reason I am missing why
timeout
option is not passed forward in_extract_failover_opts
?https://github.com/celery/kombu/blob/75027490c71b83342f92b5293461c679233dc25e/kombu/connection.py#L835-L847
Reference: https://github.com/celery/celery/issues/5067#issuecomment-656523289