Browse Source

:construction: check .stop file before start the consumer

Jeremy Zheng 9 tháng trước cách đây
mục cha
commit
e019b9d38d

+ 9 - 0
ai-translate/ai_translate/__init__.py

@@ -1,5 +1,7 @@
 import logging
 import tomllib
+import os
+import sys
 
 import pika
 from redis.cluster import RedisCluster
@@ -9,6 +11,13 @@ from .worker import handle_message
 logger = logging.getLogger(__name__)
 
 
+def is_stopped():
+    f = ".stop"
+    logger.warning("file %s exists, will be exit", f)
+    if os.path.exists(f):
+        sys.exit(0)
+
+
 def open_redis_cluster(config):
     cli = RedisCluster(host=config['host'], port=config['port'])
     logger.debug("%s", cli.get_nodes())

+ 2 - 2
ai-translate/ai_translate/__main__.py

@@ -3,7 +3,7 @@ import argparse
 import sys
 import os
 
-from . import launch
+from . import launch, is_stopped
 
 logger = logging.getLogger(__name__)
 
@@ -31,7 +31,7 @@ def main():
     else:
         logging.basicConfig(
             level=logging.DEBUG if args.debug else logging.INFO, format='%(levelname)-5s %(asctime)s(%(module)s): %(message)s')
-
+    is_stopped()
     try:
         launch(args.name, args.queue, args.config)
     except KeyboardInterrupt: