Unify main:

- same multiprocessing start method for start.sh and setuptools entry point,
 - make it possible to run outside of the main thread.
This commit is contained in:
Lee Miller 2023-01-24 06:34:05 +02:00
parent c4ece5dd45
commit b09186b0d4
Signed by: lee.miller
GPG Key ID: 4F97A5EA88F4AB63

View File

@ -223,9 +223,10 @@ def start_i2p_listener():
def main(): def main():
"""Script entry point""" """Script entry point"""
signal.signal(signal.SIGINT, handler) try:
signal.signal(signal.SIGTERM, handler) multiprocessing.set_start_method('spawn')
except RuntimeError:
pass
parse_arguments() parse_arguments()
logging.basicConfig( logging.basicConfig(
@ -233,6 +234,12 @@ def main():
format='[%(asctime)s] [%(levelname)s] %(message)s') format='[%(asctime)s] [%(levelname)s] %(message)s')
logging.info('Starting MiNode') logging.info('Starting MiNode')
try:
signal.signal(signal.SIGINT, handler)
signal.signal(signal.SIGTERM, handler)
except ValueError:
logging.warning('Working outside of the main thread!')
logging.info('Data directory: %s', shared.data_directory) logging.info('Data directory: %s', shared.data_directory)
if not os.path.exists(shared.data_directory): if not os.path.exists(shared.data_directory):
try: try:
@ -261,5 +268,4 @@ def main():
if __name__ == '__main__': if __name__ == '__main__':
multiprocessing.set_start_method('spawn')
main() main()