Python do#u GET请求不';t获取Oracle启动命令的BaseHTTPRequestHandler完成
作为devops的一部分,我正在构建一个工具来启动/停止与应用程序托管在同一服务器上的数据库 在UI中,我发出GET请求来启动和停止服务器 一旦请求到来,我就使用PythonPython do#u GET请求不';t获取Oracle启动命令的BaseHTTPRequestHandler完成,python,oracle,Python,Oracle,作为devops的一部分,我正在构建一个工具来启动/停止与应用程序托管在同一服务器上的数据库 在UI中,我发出GET请求来启动和停止服务器 一旦请求到来,我就使用Python子流程模块执行一个命令 我能够成功地停止和启动。但是,在“开始”的情况下,Python请求没有完成,响应永远不会返回到浏览器。在浏览器中点击GET请求也会发生同样的情况;即使显示响应,它仍会在浏览器选项卡上继续显示加载图标 以下是我的启动和停止代码: 两个多行变量: shutdown_cmd=""" sqlplus
子流程
模块执行一个命令
我能够成功地停止和启动。但是,在“开始”的情况下,Python请求没有完成,响应永远不会返回到浏览器。在浏览器中点击GET请求也会发生同样的情况;即使显示响应,它仍会在浏览器选项卡上继续显示加载图标
以下是我的启动和停止代码:
两个多行变量:
shutdown_cmd="""
sqlplus '/ as sysdba' <<!
shutdown immediate;
!
"""
startup_cmd="""
sqlplus '/ as sysdba' <<!
startup;
exit;
!
"""
在shutdown命令的情况下,执行以下代码并按如下方式完成请求:
SQL> Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL> SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
<machine_name>- - [10/Jan/2017 07:15:45] "GET /favicon.ico HTTP/1.1" 200 -
SQL> ORACLE instance started.
Total System Global Area 275615744 bytes
Fixed Size 2252384 bytes
Variable Size 218104224 bytes
Database Buffers 50331648 bytes
Redo Buffers 4927488 bytes
Database mounted.
Database opened.
SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
我看到的关机差异是一些favicon。请求完成时会触发ico请求。对于启动,它卡在最后一行,并且没有触发favicon.ico请求
*
总之,当浏览器向python托管的HTTP发出GET请求时
服务器,如果返回oracle响应的shutdown命令,
但是,在启动的情况下,oracle响应的命令不会返回
虽然命令已执行,数据库已启动,服务器
继续等待回应
*
有人知道如何解决这个问题吗?我试着编辑你的文章以提高清晰度,但你的英语很难理解。你能检查一下,确保我没有无意中改变你想说的话吗?我已经添加了摘要,你能帮忙吗
SQL> ORACLE instance started.
Total System Global Area 275615744 bytes
Fixed Size 2252384 bytes
Variable Size 218104224 bytes
Database Buffers 50331648 bytes
Redo Buffers 4927488 bytes
Database mounted.
Database opened.
SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production