Using a single constant for DEFAULT_REDIS_QUEUE.

Also, catch `AttributeError` on `self._proc.terminate` in the
`HttpBackend`, since the process may already have been terminated and
set to null by another worker process.
This commit is contained in:
Fabio Manganiello 2023-08-13 22:20:16 +02:00
parent 4062ddbcf0
commit 827b564006
Signed by untrusted user: blacklight
GPG key ID: D90FBA7F76362774
3 changed files with 10 additions and 9 deletions

View file

@ -25,9 +25,6 @@ log = logging.getLogger('platypush')
class Application:
"""Main class for the Platypush application."""
# Default bus queue name
_default_redis_queue = 'platypush/bus'
# Default Redis port
_default_redis_port = 6379
@ -90,7 +87,7 @@ class Application:
f.write(str(os.getpid()))
self.bus: Optional[Bus] = None
self.redis_queue = redis_queue or self._default_redis_queue
self.redis_queue = redis_queue or RedisBus.DEFAULT_REDIS_QUEUE
self.config_file = config_file
self._verbose = verbose
self._logsdir = (

View file

@ -269,8 +269,12 @@ class HttpBackend(Backend):
self._workers.pop(i)
if self._server_proc:
self._server_proc.terminate()
self._server_proc.join(timeout=5)
try:
self._server_proc.terminate()
self._server_proc.join(timeout=5)
except AttributeError:
pass
self._server_proc = None
if self._server_proc and self._server_proc.is_alive():

View file

@ -1,6 +1,6 @@
import logging
import threading
from typing import Optional
from typing import Final, Optional
from platypush.bus import Bus
from platypush.message import Message
@ -13,7 +13,7 @@ class RedisBus(Bus):
Overrides the in-process in-memory local bus with a Redis bus
"""
_DEFAULT_REDIS_QUEUE = 'platypush/bus'
DEFAULT_REDIS_QUEUE: Final[str] = 'platypush/bus'
def __init__(self, *args, on_message=None, redis_queue=None, **kwargs):
from platypush.utils import get_redis
@ -21,7 +21,7 @@ class RedisBus(Bus):
super().__init__(on_message=on_message)
self.redis = get_redis(*args, **kwargs)
self.redis_args = kwargs
self.redis_queue = redis_queue or self._DEFAULT_REDIS_QUEUE
self.redis_queue = redis_queue or self.DEFAULT_REDIS_QUEUE
self.on_message = on_message
self.thread_id = threading.get_ident()