|
6 | 6 | from typing import Callable, Optional, Set, Tuple |
7 | 7 | from uuid import uuid4 |
8 | 8 |
|
9 | | -from dispatcher.brokers import get_sync_broker |
| 9 | +from dispatcher.brokers import get_sync_publisher_from_settings |
10 | 10 | from dispatcher.utils import MODULE_METHOD_DELIMITER, DispatcherCallable, resolve_callable |
11 | 11 |
|
12 | 12 | logger = logging.getLogger(__name__) |
@@ -82,25 +82,17 @@ def get_async_body( |
82 | 82 |
|
83 | 83 | def apply_async(self, args=None, kwargs=None, queue=None, uuid=None, **kw) -> Tuple[dict, str]: |
84 | 84 | queue = queue or self.submission_defaults.get('queue') |
85 | | - if not queue: |
86 | | - msg = f'{self.fn}: Queue value required and may not be None' |
87 | | - logger.error(msg) |
88 | | - raise ValueError(msg) |
89 | 85 |
|
90 | 86 | if callable(queue): |
91 | 87 | queue = queue() |
92 | 88 |
|
93 | 89 | obj = self.get_async_body(args=args, kwargs=kwargs, uuid=uuid, **kw) |
94 | 90 |
|
95 | | - from dispatcher.conf import settings |
| 91 | + broker = get_sync_publisher_from_settings() |
96 | 92 |
|
97 | | - publish_broker = settings.publish['default_broker'] |
98 | | - broker = get_sync_broker(publish_broker, settings.brokers[publish_broker]) |
| 93 | + # TODO: exit if a setting is applied to disable publishing |
99 | 94 |
|
100 | | - # TODO: before sending, consult an app-specific callback if configured |
101 | | - |
102 | | - # NOTE: the kw will communicate things in the database connection data |
103 | | - broker.publish_message(queue, json.dumps(obj)) |
| 95 | + broker.publish_message(channel=queue, message=json.dumps(obj)) |
104 | 96 | return (obj, queue) |
105 | 97 |
|
106 | 98 |
|
|
0 commit comments