* feature(urllib3): add urllib3 client
* test(urllib3): test urllib3 client
* test(urllib3): update http test for urllib3
* test(urllib3): use urllib3 client instead of curl
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* style(urllib3): remove unused imports
* style(urllib3): fix pre-commit errors
* ci(urllib3): remove pycurl dependency
* docs(urllib3): add docs
* style(urllib3): fix failing gh-workflow py3.8
* style(urllib3): add mention of ProxyManager
* style(urllib3): fix pre-commit issues
* style(pycurl): remove curl-related code
* feat(urllib3): add missing request features (header, auth, ssl, proxy, redirects)
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix(urllib3): improve styling
* test(urllib3): add new tests
* fix(urllib3): fix request auth
* fix(aws): validate certificate on request
* style(): add missing exports
* feat(aws): add ssl certificate verification from boto
* feat(urllib): try to use certifi.where() if request.ca_certs are not provided
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* ci(pydocstyle): add missing docstring in public class
* test(urllib3): improve test case
* ci(pydocstyle): fix multi-line docstring summary should start at the first line
* feat(urllib3): remove assert_hostname
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* test(boto): add test for get_cert_path returning .pem file path
* test(urllib3): add test for _get_pool_key_parts method
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>
Co-authored-by: Tomer Nosrati <tomer.nosrati@gmail.com>
* Add support for Google Pub/Sub as transport broker
* Add tests
* Add docs
* flake8
* flake8
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix future import
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Add missing test requirements
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Add monitoring dependency
* Fix test for python3.8
* Mock better google's monitoring api
* Flake8
* Add refdoc
* Add extra url to workaround pypy grpcio
* Add extra index url in tox for grpcio/pypy support
* Revert "Add extra url to workaround pypy grpcio"
This reverts commit dfde4d523c.
* pin grpcio version to match extra_index wheel
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Reduce poll calls if qos denies msg rx
---------
Co-authored-by: Haim Daniel <haimdaniel@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Tomer Nosrati <tomer.nosrati@gmail.com>
* json.py cleaning from outdated libs
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* 1. Removed cjson and simplejson from documentation, as those libraries aren't supported anymore
2. Removed _json_extra_kwargs from json.py
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Added pattern/matcher to Mailbox
* pattern/match for kombu 4
* Ensure kombu.matcher is covered by our documentation.
* Adds test_matcher & pidbox unit tests.
* Added tests to ensure exception is raised when matcher is not registered.
* Adds to test for destination passed in to process.
* Make the pyro transport available and fix it for recent Pyro4 version.
Implemented the missing Pyro Kombu broker to actually be able to use the Pyro transport
* code style
* Add transports based on Azure PaaS
This pull request adds two new transport implementations:
- `azurestoragequeues` is implemented on top of Azure Storage
Queues [1]. This offers a simple but scalable and low-cost PaaS
transport for Celery users in Azure. The transport is intended to be
used in conjunction with the Azure Block Blob Storage backend [2].
- `azureservicebus` is implemented on top of Azure Service Bus [3] and
offers PaaS support for more demanding Celery workloads in Azure. The
transport is intended to be used in conjunction with the Azure
CosmosDB backend [4].
This pull request was created together with @ankurokok, @dkisselev,
@evandropaula, @martinpeck and @michaelperel.
[1] https://azure.microsoft.com/en-us/services/storage/queues/
[2] https://github.com/celery/celery/pull/4685
[3] https://azure.microsoft.com/en-us/services/service-bus/
[4] https://github.com/celery/celery/pull/4720
* Exclude Azure transports from code coverage
There is test coverage for the transports but the tests require Azure
credentials to run (passed via environment variables) so codecov doesn't
exercise them.
* Remove env vars to configure transport
* Remove abbreviations
* Re-Adding support for sqlalchemy as it is needed by Apache project Airflow
* Re-Adding support for sqlalchemy as it is needed by Apache project Airflow
Using the Key/Value store of Consul.io this commit adds a new
Transport.
It is a simple Transport which Messages as Keys in the K/V store
of Consul using the HTTP API.
The HTTP API is consumed using the python-consul client which exposes
the API in a Python way.
Order in which we consume from queues.
Can be either string alias, or a cycle strategy class
- ``round_robin``
:class:`~kombu.utils.scheduling.round_robin_cycle``
Make sure each queue has an equal opportunity to be consumed from.
- ``sorted``
:class:`~kombu.utils.scheduling.sorted_cycle`.
Consume from queues in alphabetical order.
If the first queue in the sorted list always contains messages,
then the rest of the queues will never be consumed from.
- ``priority``
:class:`~kombu.utils.scheduling.priority_cycle`.
Consume from queues in original order, so that if the first
queue always contains messages, the rest of the queues
in the list will never be consumed from.
The default is to consume from queues in round robin.