__main__.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import logging
  2. import argparse
  3. import sys
  4. import os
  5. import datetime
  6. from . import launch
  7. from .utils import is_stopped
  8. logger = logging.getLogger(__name__)
  9. def main():
  10. parser = argparse.ArgumentParser(
  11. prog='ai-translate',
  12. description='An OpenAI consumer process',
  13. epilog='https://github.com/iapt-platform/mint/tree/master')
  14. parser.add_argument('-c', '--config', type=str,
  15. default='config.toml', help='configuration file')
  16. parser.add_argument('-q', '--queue', type=str, required=True,
  17. help='queue name')
  18. parser.add_argument('-n', '--name', type=str, required=True,
  19. help='consumer name')
  20. parser.add_argument('-d', '--debug',
  21. action='store_true', help='run on debug mode')
  22. parser.add_argument('-v', '--version',
  23. action='version', version='%(prog)s v2026.1.16')
  24. args = parser.parse_args()
  25. if args.debug:
  26. logging.basicConfig(
  27. level=args.debug, format='%(levelname)-5s %(asctime)s(%(pathname)s %(lineno)d): %(message)s')
  28. else:
  29. now = datetime.datetime.now()
  30. logging.basicConfig(filename=now.strftime("%Y%m%d%H%M%S.log"), level=logging.INFO,
  31. format='%(levelname)-5s %(asctime)s(%(module)s): %(message)s')
  32. is_stopped()
  33. try:
  34. launch(args.name, args.queue, args.config)
  35. except KeyboardInterrupt:
  36. logger.warning('receive interrupted signal, exit...')
  37. try:
  38. sys.exit(0)
  39. except SystemExit:
  40. os._exit(0)
  41. if __name__ == '__main__':
  42. main()