diff options
author | Clemens Wolff <clemens@justamouse.com> | 2018-08-30 12:34:52 -0500 |
---|---|---|
committer | Asif Saifuddin Auvi <auvipy@gmail.com> | 2018-08-30 23:34:52 +0600 |
commit | 32633554ac0a5f15f66c648b952d14cc1eab14b2 (patch) | |
tree | 15867e48dcfd256a7048f5aa6900e4722bac031c /t | |
parent | 200a60a228bd836542e9e9a2759af1d915139d1c (diff) | |
download | kombu-32633554ac0a5f15f66c648b952d14cc1eab14b2.tar.gz |
Add transports based on Azure PaaS (#891)
* 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
Diffstat (limited to 't')
-rw-r--r-- | t/integration/tests/test_azureservicebus.py | 12 | ||||
-rw-r--r-- | t/integration/tests/test_azurestoragequeues.py | 16 |
2 files changed, 28 insertions, 0 deletions
diff --git a/t/integration/tests/test_azureservicebus.py b/t/integration/tests/test_azureservicebus.py new file mode 100644 index 00000000..98dc7340 --- /dev/null +++ b/t/integration/tests/test_azureservicebus.py @@ -0,0 +1,12 @@ +from __future__ import absolute_import, unicode_literals + +from t.integration import transport + +from case import skip + + +@skip.unless_module('azure.servicebus') +class test_azureservicebus(transport.TransportCase): + transport = 'azureservicebus' + prefix = 'azureservicebus' + message_size_limit = 32000 diff --git a/t/integration/tests/test_azurestoragequeues.py b/t/integration/tests/test_azurestoragequeues.py new file mode 100644 index 00000000..eb66c6be --- /dev/null +++ b/t/integration/tests/test_azurestoragequeues.py @@ -0,0 +1,16 @@ +from __future__ import absolute_import, unicode_literals + +from t.integration import transport + +from case import skip + + +@skip.unless_module('azure.storage.queue') +class test_azurestoragequeues(transport.TransportCase): + transport = 'azurestoragequeues' + prefix = 'azurestoragequeues' + event_loop_max = 100 + message_size_limit = 32000 + reliable_purge = False + #: does not guarantee FIFO order, even in simple cases. + suppress_disorder_warning = True |