mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
added subprocess file for oldway event server
This commit is contained in:
parent
10d6956037
commit
75ce8f1196
1 changed files with 100 additions and 0 deletions
100
pype/ftrack/ftrack_server/sub_old_way.py
Normal file
100
pype/ftrack/ftrack_server/sub_old_way.py
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
import os
|
||||
import sys
|
||||
import time
|
||||
import datetime
|
||||
import signal
|
||||
import threading
|
||||
|
||||
from ftrack_server import FtrackServer
|
||||
from pype.vendor import ftrack_api
|
||||
from pype.vendor.ftrack_api.event.hub import EventHub
|
||||
from pypeapp import Logger
|
||||
|
||||
log = Logger().get_logger("Event Server Old")
|
||||
|
||||
|
||||
class TimerChecker(threading.Thread):
|
||||
max_time_out = 35
|
||||
|
||||
def __init__(self, server, session):
|
||||
self.server = server
|
||||
self.session = session
|
||||
self.is_running = False
|
||||
self.failed = False
|
||||
super().__init__()
|
||||
|
||||
def stop(self):
|
||||
self.is_running = False
|
||||
|
||||
def run(self):
|
||||
start = datetime.datetime.now()
|
||||
self.is_running = True
|
||||
connected = False
|
||||
|
||||
while True:
|
||||
if not self.is_running:
|
||||
break
|
||||
|
||||
if not self.session.event_hub.connected:
|
||||
if not connected:
|
||||
if (datetime.datetime.now() - start).seconds > self.max_time_out:
|
||||
log.error((
|
||||
"Exiting event server. Session was not connected"
|
||||
" to ftrack server in {} seconds."
|
||||
).format(self.max_time_out))
|
||||
self.failed = True
|
||||
break
|
||||
else:
|
||||
log.error(
|
||||
"Exiting event server. Event Hub is not connected."
|
||||
)
|
||||
self.server.stop_session()
|
||||
self.failed = True
|
||||
break
|
||||
else:
|
||||
if not connected:
|
||||
connected = True
|
||||
|
||||
time.sleep(1)
|
||||
|
||||
|
||||
def main(args):
|
||||
check_thread = None
|
||||
try:
|
||||
server = FtrackServer('event')
|
||||
session = ftrack_api.Session(auto_connect_event_hub=True)
|
||||
|
||||
check_thread = TimerChecker(server, session)
|
||||
check_thread.start()
|
||||
|
||||
log.debug("Launching Ftrack Event Old Way Server")
|
||||
server.run_server(session)
|
||||
|
||||
except Exception as exc:
|
||||
import traceback
|
||||
traceback.print_tb(exc.__traceback__)
|
||||
|
||||
finally:
|
||||
log_info = True
|
||||
if check_thread is not None:
|
||||
check_thread.stop()
|
||||
check_thread.join()
|
||||
if check_thread.failed:
|
||||
log_info = False
|
||||
if log_info:
|
||||
log.info("Exiting Event server subprocess")
|
||||
return 1
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Register interupt signal
|
||||
def signal_handler(sig, frame):
|
||||
print("You pressed Ctrl+C. Process ended.")
|
||||
sys.exit(0)
|
||||
|
||||
signal.signal(signal.SIGINT, signal_handler)
|
||||
signal.signal(signal.SIGTERM, signal_handler)
|
||||
if hasattr(signal, "SIGKILL"):
|
||||
signal.signal(signal.SIGKILL, signal_handler)
|
||||
|
||||
sys.exit(main(sys.argv))
|
||||
Loading…
Add table
Add a link
Reference in a new issue