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 a67e74e09e
commit c897c299fe
Signed by: lee.miller
GPG Key ID: 4F97A5EA88F4AB63

View File

@ -219,9 +219,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(
@ -229,6 +230,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:
@ -257,5 +264,4 @@ def main():
if __name__ == '__main__': if __name__ == '__main__':
multiprocessing.set_start_method('spawn')
main() main()