| import subprocess |
| import threading |
| import sys |
| import os |
| os .environ ['LD_PRELOAD']='/home/studio-lab-user/.conda/envs/default/lib/libtcmalloc_minimal.so.4' |
| def zrok_launch (OO0OOOO00O0OO0O00 ,OO0000O0O0OO00O00 ): |
| subprocess .run (f"mkdir -p /tmp/models /tmp/ControlNet",shell =True ,stdout =subprocess .DEVNULL ,stderr =subprocess .DEVNULL ) |
| try : |
| O0000O000OO0OOO00 =subprocess .Popen (['python','zrok.py',OO0OOOO00O0OO0O00 ],stdout =subprocess .PIPE ,stderr =subprocess .PIPE ,text =True ) |
| OOO0O000OOO00000O =subprocess .Popen (['python','webui.py']+OO0000O0O0OO00O00 ,stdout =sys .stdout ,stderr =sys .stdout ,text =True ) |
| def OO0000OO0000O00OO (O0OOOOOOOO0OO00O0 ): |
| try : |
| if O0OOOOOOOO0OO00O0 .stdout is not None : |
| for O0O000O000OOO0O0O in O0OOOOOOOO0OO00O0 .stdout : |
| print (O0O000O000OOO0O0O .strip ()) |
| except Exception : |
| pass |
| OO0O0OO000O0OOO00 =threading .Thread (target =OO0000OO0000O00OO ,args =(O0000O000OO0OOO00 ,)) |
| O0OOOO0O000O00OO0 =threading .Thread (target =OO0000OO0000O00OO ,args =(OOO0O000OOO00000O ,)) |
| OO0O0OO000O0OOO00 .start () |
| O0OOOO0O000O00OO0 .start () |
| OO0O0OO000O0OOO00 .join () |
| O0OOOO0O000O00OO0 .join () |
| except KeyboardInterrupt : |
| pass |
| except Exception as O0000OO000000OOO0 : |
| print ("Error:",str (O0000OO000000OOO0 )) |
| if __name__ =="__main__": |
| if len (sys .argv )<2 : |
| sys .exit (1 ) |
| token =sys .argv [1 ] |
| launch_args =sys .argv [2 :] |
| zrok_launch (token ,launch_args ) |