Files
django.remote/__pycache__/gunicorn_tab.cpython-38.pyc

249 lines
26 KiB
Plaintext
Raw Normal View History

U
u5<75>h<05><00>@s<>ddlZddlZddlZddlmZmZmZmZmZm Z m
Z
m Z m Z m Z mZddlmZmZddlmZGdd<06>de <0A>ZGdd<08>de<10>ZGd d
<EFBFBD>d
e<10>ZGd d <0C>d e<10>ZGd d<0E>de<10>ZGdd<10>de<10>ZGdd<12>de<10>ZGdd<14>de<04>ZdS)<15>N) <0B>QWidget<65> QVBoxLayout<75> QHBoxLayout<75> QPushButton<6F>QLabel<65> QTextEdit<69> QFileDialog<6F> QMessageBox<6F> QLineEdit<69>QDialog<6F>QDialogButtonBox)<02>QThread<61>Signal)<01>loggercs&eZdZd<06>fdd<03> Zdd<05>Z<04>ZS)<07>PasswordDialogNcs<>t<00><00>|<01>|<00>d<01>|<00>d<02>t<04>}td<03>}|<02>|<03>t<07>|_|j<08> tj
<EFBFBD>|<02>|j<08>t t j t j B<00>}|j<0E>|j<10>|j<11>|j<12>|<02>|<04>|<00>|<02>dS)Nu 输入密码i,u请输入sudo密码:)<14>super<65>__init__<5F>setWindowTitle<6C>setMinimumWidthrr<00> addWidgetr
<00>password_input<75> setEchoMode<64>Passwordr <00>Ok<4F>Cancel<65>accepted<65>connect<63>accept<70>rejected<65>reject<63> setLayout)<05>self<6C>parent<6E>layout<75>label<65>
button_box<EFBFBD><01> __class__<5F><00>Lc:\Users\xiaji\Documents\个人文件夹\夏骥\桌面部署\gunicorn_tab.pyr s 


 
zPasswordDialog.__init__cCs
|j<00><01>S<00>N)r<00>text<78>r!r(r(r)<00> get_password#szPasswordDialog.get_password)N)<06>__name__<5F>
__module__<EFBFBD> __qualname__rr-<00> __classcell__r(r(r&r)r
srcs<eZdZdZeee<06>Zee<08>Z d<07>fdd<04> Z
dd<06>Z <0B>Z S)<08>GunicornInstallThreadu安装Gunicorn的线程Ncst<00><00><01>||_||_dSr*<00>rr<00>
ssh_client<EFBFBD>password<72>r!r4r5r&r(r)r+s
zGunicornInstallThread.__init__c
Cs$<00>z<>|j<00>d<01>t<02>d<02>|j<04>d<03>\}}}|j<06><07>}|<02><08><00> <09><00>
<EFBFBD>}|<03><08><00> <09>}t<02>d|<04><00><02>t<02>d|<05><00><02>|r<>t<02> d|<06><00><02>|r<>|j <0C>dd|<05><00><02>t<02>d|<05><00><02>WdS|j<00>d <09>t<02>d
<EFBFBD>|j<04>d <0B>\}}}|j<06><07>}|<02><08><00> <09>}|<03><08><00> <09>}t<02>d |<04><00><02>t<02>d |<07><00><02>|<08>r4t<02> d|<08><00><02>|dk<02>r |j<00>d<10>t<02>d<11>|j<04>d<03>\}}}|j<06><07>} |<02><08><00> <09><00>
<EFBFBD>}|<03><08><00> <09>}t<02>d| <09><00><02>t<02>d|<05><00><02>|<06>r<>t<02> d|<06><00><02>|<05>r<>|j <0C>dd|<05><00><02>t<02>d|<05><00><02>n|j <0C>dd<14>t<02> d<14>WdS|j<00>d<15>t<02>d<16>|j <0A>rZt<02>d<17>|j<04>d|j <0A>d|j <0A>d<1A><05>\}}}nt<02>d<1B>|j<04>d<1C>\}}}|j<06><07>}|<02><08><00> <09>}
|<03><08><00> <09>} t<02>d|<04><00><02>t<02>d|
<EFBFBD><00><02>| <0B>r<>t<02> d| <0B><00><02>|dk<02>r<>|j<00>d<10>t<02>d <20>|j<04>d<03>\}}}|j<06><07>} |<02><08><00> <09><00>
<EFBFBD>}|<03><08><00> <09>}t<02>d| <09><00><02>t<02>d|<05><00><02>|<06>r\t<02> d|<06><00><02>|<05>r<>|j <0C>dd|<05><00><02>t<02>d|<05><00><02>n|j <0C>dd<14>t<02> d<14>n0|<03><08><00> <09>} |j <0C>dd!| <0C><00><02>t<02> d!| <0C><00><02>WnJtk
<EFBFBD>r} z*t| <0A>}|j <0C>d|<0E>t<02> d"|<0E><00><02>W5d} ~ XYnXdS)#N<>
u检查Gunicorn是否已安装zgunicorn --versionuGunicorn版本检查状态: uGunicorn版本信息: uGunicorn版本检查错误: TuGunicorn已安装: <20>u开始使用pip安装Gunicornzpip3 install gunicornu&Gunicorn pip安装命令执行状态: uGunicorn pip安装输出: uGunicorn pip安装错误: r<00>Zu验证Gunicorn安装<E5AE89>Gunicorn安装成功: Fu)Gunicorn安装后无法获取版本信息<E4BFA1>2u/pip安装失败尝试使用apt安装Gunicornu 使用密码进行sudo apt安装<E5AE89>bash -c 'echo "z " | sudo -S apt update && echo "z$" | sudo -S apt install -y gunicorn'u无密码进行sudo apt安装z/sudo apt update && sudo apt install -y gunicornu&Gunicorn apt安装命令执行状态: uGunicorn apt安装输出: uGunicorn apt安装错误: u验证apt安装的Gunicorn<72>Gunicorn安装失败: uGunicorn安装异常: )<10>progress_updated<65>emitr<00>infor4<00> exec_command<6E>channel<65>recv_exit_status<75>read<61>decode<64>strip<69>error<6F> result_readyr5<00> Exception<6F>str)r!<00>stdin<69>stdout<75>stderr<72> exit_statusZgunicorn_versionZ version_errorZinstall_outputZ install_errorZversion_exit_statusZ
apt_outputZ apt_errorrG<00>e<> error_msgr(r(r)<00>run0s<> 

  

  
 

 
 

&

  
 

   zGunicornInstallThread.run)N) r.r/r0<00>__doc__r<00>boolrJrH<00>intr>rrQr1r(r(r&r)r2&s

r2cs2eZdZdZeee<06>Z<07>fdd<03>Zdd<05>Z <09>Z
S)<06>GunicornTestThreadu测试Gunicorn的线程cs&t<00><00><01>||_||_||_||_dSr*)rrr4<00> project_name<6D> django_pathr5)r!r4rVrWr5r&r(r)r<00>s

zGunicornTestThread.__init__c%
Csr<00>z t<00>d|j<02>d|j<03><00><04>t<00>d<03>d|j<02>|j<03><00>}|j<04>|<01>\}}}|<03><06><00><07>}|<04><06><00><07>}t<00>d|<05><00><02>|r<>t<00>d|<06><00><02>d|j<02>d<08>}|j<04>|<07>\}}}|<03><06><00><07>}|<04><06><00><07>} t<00>d |<08><00><02>| r<>t<00>d
| <09><00><02>|<08> <09><00>rz|<08> <09><00>
d <0B>d }
|
<EFBFBD> d d<0E>d } t<00>d| <0B><00><02>d| <0B><00>} |j<04>| <0C>\}}}|<03><06><00><07>} |<04><06><00><07>}t<00>d| <0A><00><02>|<0E>rzt<00>d|<0E><00><02>d|j<02>d<12>}|j<04>|<0F>\}}}|<03><06><00><07>}|<04><06><00><07>}t<00>d|<10><00><02>|<11>r<>t<00>d|<11><00><02>d|j<02>d<15>}|j<04>|<12>\}}}|<03><06><00><07>}|<04><06><00><07>}t<00>d|<13><00><02>|<14>r6t<00>d|<14><00><02>|<13> <09><00>r<>|<13> <09><00>
d <0B>d }d|<15><00>}|j<04>|<16>\}}}|<03><06><00><07>}|<04><06><00><07>}t<00>d|dd<1A><00>d<1B><03>|<18>r<>t<00>d|<18><00><02>|<08> <09><00>r<>|<08> <09><00>
d <0B>d }
|
<EFBFBD> d d<0E>d } t<00>d| <0B><00><02>| <0B>d |j<03><00>}d|<19><00>}|j<04>|<1A>\}}}|<03><06><00><07>}|<04><06><00><07>}|<1C>szd|k<06>rzt<00>d|<19><00><02>d | <0B>d!|j <0C>d"| <0B>d#|j<03>d$<24> }n0t<00>d%<25>d |j<02>d!|j <0C>d"|j<02>d#|j<03>d$<24> }n0t<00>d&<26>d |j<02>d!|j <0C>d"|j<02>d#|j<03>d$<24> }t<00>d'|<1D><00><02>|j<04>|<1D>\}}}|<03><06><00><07>}|<04><06><00><07>}t<00>d(|<1E><00><02>|<1F>r<t<00>d)|<1F><00><02>t<00>d*<2A>|<00> d+<2B>t<00>d,<2C>|j<04>d-<2D>\}}}|<03><06><00><07>} t<00>d.| <20><00><02>|j| k<06>r|j<0E>d/d0<64>t<00>d0<64>t<00>d1<64>|j<04>d2<64>\}}}|<03><06><00><07>}!|<04><06><00><07>}"t<00>d3|!<21><00><02>|"<22>r t<00>d4|"<22><00><02>n|j<0E>d5d6<64>t<00>d6<64>WnJtk
<EFBFBD>rl}#z*t|#<23>}$|j<0E>d5|$<24>t<00>d7|$<24><00><02>W5d}#~#XYnXdS)8Nu.开始测试Gunicorn使用的Django路径: u , 项目名: u检查项目目录结构...zls -la u项目目录内容: u列出目录内容错误: zfind z -name manage.pyu找到的manage.py文件: u查找manage.py文件错误: <20>
r<00>/<2F>umanage.py所在目录: umanage.py所在目录内容: u)列出manage.py所在目录内容错误: z -name wsgi.pyu找到的wsgi.py文件: u查找wsgi.py文件错误: z -name settings.pyu找到的settings.py文件: u查找settings.py文件错误: zcat usettings.py文件内容: i<><00>...u读取settings.py文件错误: u5尝试使用manage.py所在目录作为工作目录: zwsgi.pyu=找到项目子目录尝试使用该目录运行Gunicorn: <20>cd <20> && bash -c 'echo "z"" | sudo -S gunicorn --pythonpath <20> z(.wsgi:application --bind 0.0.0.0:8000' &uA未找到项目子目录尝试使用Django路径运行GunicornuA未找到manage.py文件尝试使用原始路径运行Gunicornu执行Gunicorn测试命令: uGunicorn启动输出: uGunicorn启动错误: u等待Gunicorn启动...i<> u检查Gunicorn进程状态...zps aux | grep gunicornuGunicorn进程检查结果: TuGunicorn测试运行成功u停止Gunicorn进程...zpkill -f gunicornu停止Gunicorn进程结果: u停止Gunicorn进程错误: FuGunicorn测试运行失败uGunicorn测试运行异常: )rr@rWrVr4rArDrErGrF<00>split<69>rsplitr5<00>msleeprHr?rIrJ)%r!Z list_commandrKrLrMZ dir_contentZ dir_errorZ manage_checkZ manage_filesZ manage_errorZ manage_path<74>
manage_dirZlist_manage_dirZmanage_dir_contentZmanage_dir_errorZ
wsgi_checkZ
wsgi_filesZ
wsgi_errorZsettings_checkZsettings_filesZsettings_error<6F> settings_pathZ cat_settings<67>settings_contentZsettings_content_errorZproject_subdirZ check_subdirZsubdir_contentZ subdir_error<6F>commandZ start_outputZ start_error<6F> processesZ stop_resultZ
stop_errorrOrPr(r(r)rQ<00>s<>
    

      

  

  $
(
&  


  

  zGunicornTestThread.run<75> r.r/r0rRrrSrJrHrrQr1r(r(r&r)rU<00>s
 rUcs2eZdZdZeee<06>Z<07>fdd<03>Zdd<05>Z <09>Z
S)<06>GunicornServiceUploadThreadu#上传Gunicorn服务文件的线程cs&t<00><00><01>||_||_||_||_dSr*)rrr4<00>service_content<6E> service_namer5)r!r4rirjr5r&r(r)r0s

z$GunicornServiceUploadThread.__init__c
Cs,z<>d|j<00><00>}|j<01><02>}|<02>|d<02><02>}|<03>|j<05>W5QRX|j<01>d|j<07>d|<01>d|j<00>d<06><07>\}}}|j<08> <09>}|dkr<>|j
<EFBFBD> dd |j<00><00><02>t <0C> d |j<00><00><02>n0|<06><0E><00><0F>}|j
<EFBFBD> d
d |<08><00><02>t <0C>d |<08><00><02>|<02><11>WnJtk
<EFBFBD>r&} z*t| <09>}
|j
<EFBFBD> d
|
<EFBFBD>t <0C>d |
<EFBFBD><00><02>W5d} ~ XYnXdS) Nz/tmp/<2F>wr<z" | sudo -S mv z /etc/systemd/system/<2F>'rT<>"Gunicorn服务文件上传成功: F<>"Gunicorn服务文件上传失败: u"Gunicorn服务文件上传异常: )rjr4<00> open_sftp<74>file<6C>writerirAr5rBrCrHr?rr@rDrErG<00>closerIrJ) r!<00> temp_file<6C>sftp<74>frKrLrMrNrGrOrPr(r(r)rQ7s$ 
*
  zGunicornServiceUploadThread.runrgr(r(r&r)rh,s
 rhcs2eZdZdZeee<06>Z<07>fdd<03>Zdd<05>Z <09>Z
S)<06>GunicornServiceControlThreadu控制Gunicorn服务的线程cs&t<00><00><01>||_||_||_||_dSr*)rrr4rjr5<00>action)r!r4rjr5rwr&r(r)rWs

z%GunicornServiceControlThread.__init__c
Cst<00>z"|jdkr(d|j<01>d<03>}d}d}<03>n|jdkrbd|j<01>d|j<02>d<08>}d |j<02><00>}d
|j<02><00>}n<>|jd kr<>d|j<01>d |j<02>d<08>}d |j<02><00>}d|j<02><00>}n<>|jdkr<>d|j<01>d|j<02>d<08>}d|j<02><00>}d|j<02><00>}nZ|jdk<02>rd|j<01>d|j<02>d<08>}d|j<02><00>}d|j<02><00>}n|j<03>dd<18>t<05>d<19>WdS|j<07>|<01>\}}}|j <09>
<EFBFBD>}|<05> <0B><00> <0C>}|<06> <0B><00> <0C>} |jdk<02>r<>|<08>r<>|j<03>d|<02>d|<08><00><03>t<05> |<02>d|<08><00><03>n,|j<03>d|<03>d| <09><00><03>t<05>|<03>d| <09><00><03>nP|dk<02>r<>|j<03>d|<02>t<05> |<02>n,|j<03>d|<03>d| <09><00><03>t<05>|<03>d| <09><00><03>WnJtk
<EFBFBD>rn}
z*t|
<EFBFBD>}|j<03>d|<03>t<05>d|<03><00><02>W5d}
~
XYnXdS)N<> daemon-reloadr<z$" | sudo -S systemctl daemon-reload'u$系统服务配置重新加载成功u$系统服务配置重新加载失败<E5A4B1>startz" | sudo -S systemctl start rluGunicorn服务启动成功: uGunicorn服务启动失败: <20>enablez" | sudo -S systemctl enable u+Gunicorn服务设置开机自启动成功: u+Gunicorn服务设置开机自启动失败: <20>restartz" | sudo -S systemctl restart uGunicorn服务重启成功: uGunicorn服务重启失败: <20>statusz" | sudo -S systemctl status u"Gunicorn服务状态查询成功: u"Gunicorn服务状态查询失败: Fu未知的操作u未知的Gunicorn服务操作TrXz: ruGunicorn服务控制异常: )rwr5rjrHr?rrGr4rArBrCrDrEr@rIrJ) r!reZ success_msgrPrKrLrMrN<00>outputrGrOr(r(r)rQ^sV

 
 
   

   
 z GunicornServiceControlThread.runrgr(r(r&r)rvSs
 rvcs2eZdZdZeee<06>Z<07>fdd<03>Zdd<05>Z <09>Z
S)<06>ServerControlThreadu控制服务器设置的线程cst<00><00><01>||_||_dSr*r3r6r&r(r)r<00>s
zServerControlThread.__init__c
Cs<>z<>t<00>d<01>|j<02>d|j<04>d<03><03>\}}}|j<05><06>}|dkrp|<03><07><00><08>}|j <09>
dd|<05><00><02>t<00> d|<05><00><02>WdSt<00>d<07>|j<02>d|j<04>d<08><03>\}}}|j <09>
d d
<EFBFBD>t<00>d
<EFBFBD>WnHt k
r<EFBFBD>}z*t |<06>}|j <09>
d|<07>t<00> d |<07><00><02>W5d}~XYnXdS) Nu+开始设置服务器时区为Asia/Shanghair<z3" | sudo -S timedatectl set-timezone Asia/Shanghai'rFu设置时区失败: u开始重启服务器z" | sudo -S reboot'Tu*时区设置成功服务器正在重启u服务器控制异常: )rr@r4rAr5rBrCrDrErHr?rGrIrJ)r!rKrLrMrNrGrOrPr(r(r)rQ<00>s"

 
zServerControlThread.runrgr(r(r&r)r~<00>s
 r~cs4eZdZdZeee<06>Zd<07>fdd<04> Zdd<06>Z <09>Z
S)<08>GunicornCommandThreadu执行Gunicorn命令的线程<E7BABF>cs,t<00><00><01>||_||_||_||_||_dSr*)rrr4rer5rWrV)r!r4rer5rWrVr&r(r)r<00>s 
zGunicornCommandThread.__init__c
Cs<><00>zDt<00>d|j<02><00><02>|jr<>d|jkr^d|jkr^|j<02>dd|j<03><00>d<05>}t<00>d|<01><00><02>||_d|j<03>d|j<05>d |j<02>d
<EFBFBD>}t<00>d |j<03>d |<02><00><04>n&d |j<05>d |j<02>d
<EFBFBD>}t<00>d|<02><00><02>|j<06>|<02>\}}}|j<08> <09>}|<04>
<EFBFBD><00> <0B>}|<05>
<EFBFBD><00> <0B>}|dk<02>r |j <0C> dd|<07><00><02>t<00>d|<07><00><02>n$|j <0C> dd|<08><00><02>t<00>d|<08><00><02>WnJtk
<EFBFBD>r<>} z*t| <09>}
|j <0C> d|
<EFBFBD>t<00>d|
<EFBFBD><00><02>W5d} ~ XYnXdS)Nu开始执行Gunicorn命令: z --pythonpathZgunicornzgunicorn --pythonpath rZu&添加--pythonpath参数后的命令: r\r]z " | sudo -S rlu
在目录 u 中执行命令: r<u直接执行命令: rTu命令执行成功
<EFBFBD>Gunicorn命令执行成功: Fu命令执行失败
<EFBFBD>Gunicorn命令执行失败: uGunicorn命令执行异常: )rr@rerW<00>replacer5r4rArBrCrDrErHr?rGrIrJ) r!Zmodified_commandZ full_commandrKrLrMrNr}rGrOrPr(r(r)rQ<00>s2


  
zGunicornCommandThread.run)r<>r<>rgr(r(r&r)r<00>s
rcs<>eZdZ<02>fdd<02>Zdd<04>Zdd<06>Zdd<08>Zd d
<EFBFBD>Zd d <0C>Zd d<0E>Z dd<10>Z
dd<12>Z dd<14>Z dd<16>Z dd<18>Zdd<1A>Zdd<1C>Zdd<1E>Zdd <20>Zd!d"<22>Zd#d$<24>Zd%d&<26>Zd'd(<28>Zd)d*<2A>Zd+d,<2C>Zd-d.<2E>Zd/d0<64>Zd1d2<64>Zd3d4<64>Z<1C>ZS)5<> GunicornTabcs.t<00><00><01>d|_d|_d|_d|_|<00><06>dS)Nr<4E>)rrr4<00>usernamerVrW<00>init_uir,r&r(r)r<00>s 
zGunicornTab.__init__cCs<>t<00>}t<01>}td<01>|_|jj<04>|j<06>|<02>|j<03>td<02>|_|jj<04>|j <09>|<02>|j<08>|<01>
|<02>t<00>}|<03>t d<03><01>t <0C>|_ |j <0A>d<04>|<03>|j <0A>t<01>}td<05>|_|jj<04>|j<10>|<04>|j<0F>td<06>|_|jj<04>|j<12>|<04>|j<11>|<03>
|<04>|<01>
|<03>t<00>}|<05>t d<07><01>t <0C>|_|j<13>d<04>|j<13>d<08>|<05>|j<13>t<01>}td <09>|_|jj<04>|j<16>|<06>|j<15>|<05>
|<06>|<01>
|<05>t<01>}td
<EFBFBD>|_|jj<04>|j<18>|<07>|j<17>|<01>
|<07>t <0C>|_|j<19>d <0B>|<01>|j<19>|<00>|<01>|<00><1B>dS) N<>安装Gunicornu 测试运行uGunicorn服务文件编辑器:F<>上传服务文件u查看服务状态uGunicorn命令编辑器:zCgunicorn --workers 3 --bind 0.0.0.0:8000 myproject.wsgi:applicationu运行以上命令u设置时区并重启T)rrrZinstall_gunicorn_btn<74>clickedr<00>install_gunicornrZtest_gunicorn_btn<74> test_gunicorn<72> addLayoutrr<00>service_editor<6F> setReadOnlyZupload_service_btn<74>upload_serviceZcheck_status_btn<74>check_service_status<75>command_editor<6F> setPlainTextZrun_command_btn<74>run_gunicorn_commandZset_timezone_btn<74>set_timezone_and_reboot<6F> output_textr <00>init_service_content)r!r#<00> manage_layoutZservice_layoutZservice_btn_layoutZcommand_layoutZcommand_btn_layoutZserver_control_layoutr(r(r)r<><00>sZ
 
 
  
 
 

   
 


 
  
zGunicornTab.init_uicCs<>d}|d7}|d7}|d7}|d7}|d7}|d7}|d7}|d 7}|d
7}|d 7}|d 7}|d 7}|d7}|d7}|d7}|d7}|d7}|d7}|d7}|d7}|d7}|d7}|d7}|j<00>|<01>dS)u初始化服务文件内容z[Unit]
z*Description=Gunicorn daemon for myproject
zAfter=network.target
z
[Service]
uUser=【用户名】
uGroup=【用户名】
u$WorkingDirectory=【Django路径】
u,# 所有Gunicorn参数直接在这里配置
z%ExecStart=/usr/local/bin/gunicorn \
u- --pythonpath 【Django路径】 \
z# --bind 127.0.0.1:8000 \
z. --workers $(nproc --all * 2 + 1) \
z! --worker-class sync \
z --timeout 60 \
u$ --name 【项目名】 \
uJ --access-logfile 【Django路径】/logs/gunicorn_access.log \
uH --error-logfile 【Django路径】/logs/gunicorn_error.log \
z --log-level info \
u+ 【项目名】.wsgi:application
zRestart=on-failure
zRestartSec=5s
zPrivateTmp=true
z
[Install]
zWantedBy=multi-user.targetN)r<>r<>)r!Zdefault_contentr(r(r)r<>Ls2z GunicornTab.init_service_contentcCs||_t<01>d<01>dS)u设置SSH客户端u&Gunicorn标签页已设置SSH客户端N)r4rr@)r!r4r(r(r)<00>set_ssh_clientiszGunicornTab.set_ssh_clientcCs||_t<01>d|<01><00><02>dS)u设置用户名u%Gunicorn标签页已设置用户名: N)r<>rr@)r!r<>r(r(r)<00> set_usernamenszGunicornTab.set_usernamecCs6||_||_t<02>d|<01>d|<02><00><04>|<00><04>|<00><05>dS)u设置项目信息u(Gunicorn标签页已设置项目信息: z, N)rVrWrr@<00>update_service_content<6E>update_command_editor)r!rVrWr(r(r)<00>set_project_infoss
zGunicornTab.set_project_infocCsJ|j<00><01>}|<01>d|j<03>}|<01>d|j<04>}|<01>d|j<05>d<04><01>}|j<00>|<01>dS)u更新服务文件内容u【用户名】u【项目名】u【Django路径】rYN)r<><00> toPlainTextr<74>r<>rVrW<00>rstripr<70>)r!<00>contentr(r(r)r<>s

z"GunicornTab.update_service_contentcCs@|j<00><01>}|<01>d|j<03>d<02><02>}|j<00>|<01>t<05>d|j<03><00><02>dS)u'更新命令编辑器中的项目名称zmyproject.wsgi:applicationz.wsgi:applicationu.Gunicorn命令编辑器已更新项目名称: N)r<>r<>r<>rVr<>rr@)r!Z command_textr(r(r)r<><00>s
 z!GunicornTab.update_command_editorcCs|j<00>|<01>dS)u添加输出到文本框N)r<><00>append)r!r+r(r(r)<00> append_output<75>szGunicornTab.append_outputcCs<>|js|<00>d<01>dSt|<00>}|<01><03>tjkrv|<01><06>}|<00>d<03>t|j|<02>|_|jj <09>
|j <0B>|jj <0C>
|j <0A>|j<08><0E>n
|<00>d<04>dS)r<><00>错误: 未连接到服务器Nu正在安装Gunicorn...<2E>用户取消了密码输入)r4r<>r<00>exec_r <00>Acceptedr-r2<00>install_threadrHr<00>on_install_resultr><00>on_install_progressry<00>r!<00>dialogr5r(r(r)r<><00>s

 zGunicornTab.install_gunicorncCs(|<00>d|<01>d<02><03>t<01>d|<01>d<02><03>dS)u处理安装进度更新u安装进度: <20>%uGunicorn安装进度: N)r<>rr@)r!<00>progressr(r(r)r<><00>szGunicornTab.on_install_progresscCsl|r4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|d|<02>n4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|dd|<02><00><02>dS)u处理安装结果u安装成功: r:<00>成功u安装失败: r=<00>错误N<E8AFAF>r<>rr@r <00> informationrG<00>warning<6E>r!<00>success<73>messager(r(r)r<><00>szGunicornTab.on_install_resultcCs<>|js|<00>d<01>dS|jr |js.|<00>d<03>dSt|<00>}|<01><05>tjkr<>|<01><08>}|<00>d<04>t |j|j|j|<02>|_
|j
j <0B> |j <0A>|j
<EFBFBD><0E>n
|<00>d<05>dS)u测试运行Gunicornr<6E>Nu错误: 未设置项目信息u正在测试运行Gunicorn...r<>)r4r<>rVrWrr<>r r<>r-rUZ test_threadrHr<00>on_test_resultryr<>r(r(r)r<><00>s
 

 zGunicornTab.test_gunicorncCsl|r4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|d|<02>n4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|dd|<02><00><02>dS)u处理测试结果u测试成功: uGunicorn测试成功: r<>u测试失败: uGunicorn测试失败: r<>Nr<4E>r<>r(r(r)r<><00>szGunicornTab.on_test_resultcCs<>|js|<00>d<01>dS|js(|<00>d<03>dS|j<03><04>}d|j<02>d<05>}t|<00>}|<03><06>tjkr<>|<03> <09>}|<00>d|<02>d<07><03>t
|j|||<04>|_ |j j <0C> |j<0E>|j <0B><0F>n
|<00>d<08>dS) r<>r<>N<>错误: 未设置项目名<E79BAE> gunicorn_z.serviceu正在上传服务文件: r[r<>)r4r<>rVr<>r<>rr<>r r<>r-rh<00> upload_threadrHr<00>on_upload_resultry)r!rirjr<>r5r(r(r)r<><00>s 


 zGunicornTab.upload_servicecCsl|r4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|d|<02>n4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|dd|<02><00><02>dS)u处理上传结果u上传成功: rmr<>u上传失败: rnr<>Nr<4E>r<>r(r(r)r<><00>szGunicornTab.on_upload_resultcCsx|js|<00>d<01>dSt|<00>}|<01><03>tjkrj|<01><06>}|<00>d<03>t|jd|d<05>|_|jj <09>
|j <0B>|j<08> <0C>n
|<00>d<06>dS)u重新加载系统服务配置r<E7BDAE>Nu'正在重新加载系统服务配置...r<>rxr<>) r4r<>rr<>r r<>r-rv<00>control_threadrHr<00>on_control_resultryr<>r(r(r)<00> reload_daemons

 zGunicornTab.reload_daemoncCs<>|js|<00>d<01>dS|js(|<00>d<03>dSd|j<02><00>}t|<00>}|<02><04>tjkr<>|<02><07>}|<00>d|<01>d<06><03>t|j||d<07>|_ |j j
<EFBFBD> |j <0C>|j <09> <0A>n
|<00>d<08>dS) u启动Gunicorn服务r<E58AA1>Nr<4E>r<>u正在启动Gunicorn服务: r[ryr<><00>r4r<>rVrr<>r r<>r-rvr<>rHrr<>ry<00>r!rjr<>r5r(r(r)<00> start_services

  zGunicornTab.start_servicecCs<>|js|<00>d<01>dS|js(|<00>d<03>dSd|j<02><00>}t|<00>}|<02><04>tjkr<>|<02><07>}|<00>d|<01>d<06><03>t|j||d<07>|_ |j j
<EFBFBD> |j <0C>|j <09> <0A>n
|<00>d<08>dS) u设置开机自启动r<E58AA8>Nr<4E>r<>u+正在设置Gunicorn服务开机自启动: r[rzr<>r<>r<>r(r(r)<00>enable_service/s

  zGunicornTab.enable_servicecCs<>|js|<00>d<01>dS|js(|<00>d<03>dSd|j<02><00>}t|<00>}|<02><04>tjkr<>|<02><07>}|<00>d|<01>d<06><03>t|j||d<07>|_ |j j
<EFBFBD> |j <0C>|j <09> <0A>n
|<00>d<08>dS) u重启Gunicorn服务r<E58AA1>Nr<4E>r<>u正在重启Gunicorn服务: r[r{r<>r<>r<>r(r(r)<00>restart_serviceHs

  zGunicornTab.restart_servicecCs<>|js|<00>d<01>dS|js(|<00>d<03>dSd|j<02><00>}t|<00>}|<02><04>tjkr<>|<02><07>}|<00>d|<01>d<06><03>t|j||d<07>|_ |j j
<EFBFBD> |j <0C>|j <09> <0A>n
|<00>d<08>dS) u查看Gunicorn服务状态r<E68081>Nr<4E>r<>u"正在查看Gunicorn服务状态: r[r|r<>r<>r<>r(r(r)r<>as

  z GunicornTab.check_service_statuscCsl|r4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|d|<02>n4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|dd|<02><00><02>dS)u处理控制结果<E7BB93>操作成功: uGunicorn服务控制成功: r<><00>操作失败: uGunicorn服务控制失败: r<>Nr<4E>r<>r(r(r)r<>zszGunicornTab.on_control_resultcCst|js|<00>d<01>dSt|<00>}|<01><03>tjkrf|<01><06>}|<00>d<03>t|j|<02>|_|jj <09>
|j <0B>|j<08> <0C>n
|<00>d<04>dS)u设置时区并重启服务器r<E599A8>Nu'正在设置时区并重启服务器...r<>) r4r<>rr<>r r<>r-r~Zserver_control_threadrHr<00>on_server_control_resultryr<>r(r(r)r<><00>s

 z#GunicornTab.set_timezone_and_rebootcCsl|r4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|d|<02>n4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|dd|<02><00><02>dS)u处理服务器控制结果r<E69E9C>u服务器控制成功: r<>r<>u服务器控制失败: r<>Nr<4E>r<>r(r(r)r<><00>sz$GunicornTab.on_server_control_resultcCs<>|js|<00>d<01>dS|j<02><03><00><04>}|s4|<00>d<03>dSt|<00>}|<02><06>tjkr<>|<02> <09>}|<00>d|<01>d<05><03>t
|j|||j |j <0C>|_ |j j<0E>|j<10>|j <0A><11>n
|<00>d<06>dS)u运行Gunicorn命令r<E4BBA4>Nu错误: 命令不能为空u正在执行命令: r[r<>)r4r<>r<>r<>rFrr<>r r<>r-rrWrV<00>command_threadrHr<00>on_command_resultry)r!rer<>r5r(r(r)r<><00>s

 z GunicornTab.run_gunicorn_commandcCsl|r4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|d|<02>n4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|dd|<02><00><02>dS)u处理命令执行结果u命令执行成功: r<>r<>u命令执行失败: r<>r<>Nr<4E>r<>r(r(r)r<><00>szGunicornTab.on_command_result)r.r/r0rr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r1r(r(r&r)r<><00>s4 W  
     r<>)<1C>os<6F>sys<79>datetime<6D>PySide6.QtWidgetsrrrrrrrr r
r r <00>PySide6.QtCorer r<00>logururrr2rUrhrvr~rr<>r(r(r(r)<00><module>s4 u'A"6