【发布时间】:2019-12-13 16:26:31
【问题描述】:
我已经编写了一段代码,用于检查系统中是否存在数据库中的新条目,如果找到新条目,它将获取数据并且客户端将尝试将其发送到服务器...但是如果在每次执行 threading.timer 周期时不断发现数据,它将尝试将其发送到服务器...
现在的问题是如果服务器无法访问,那么它将打印该服务器不活动等。如果这个循环持续几分钟,脚本就会崩溃并显示分段错误......我想处理这个异常并想要如果发生分段错误,则处理某些事情
工作环境: linux 蟒蛇3 sql-server
编辑
这是脚本崩溃后显示的内容...
Fatal Python error: Segmentation fault
Thread 0xb3dff460 (most recent call first):
File "/usr/lib/python3.4/threading.py", line 294 in wait File "/usr/lib/python3.4/threading.py", line 553 in wait File "/usr/lib/python3.4/threading.py", line 1184 in run File "/usr/lib/python3.4/threading.py", line 920 in _bootstrap_inner File "/usr/lib/python3.4/threading.py", line 888 in _bootstrap
Current thread 0xb33ff460 (most recent call first):
File "abc.py", line 343 in send_to_server
File "abc.py", line 244 in sql_connect1
File "/usr/lib/python3.4/threading.py", line 1186 in run
File "/usr/lib/python3.4/threading.py", line 920 in _bootstrap_inner
File "/usr/lib/python3.4/threading.py", line 888 in _bootstrap
Thread 0xb45ff460 (most recent call first):
File "abc.py", line 408 in send_to_server
File "abc.py", line 244 in sql_connect1
File "/usr/lib/python3.4/threading.py", line 1186 in run
File "/usr/lib/python3.4/threading.py", line 920 in _bootstrap_inner
File "/usr/lib/python3.4/threading.py", line 888 in _bootstrap
Thread 0xb4fff460 (most recent call first):
File "abc.py", line 343 in send_to_server
File "abc.py", line 244 in sql_connect1
File "/usr/lib/python3.4/threading.py", line 1186 in run
File "/usr/lib/python3.4/threading.py", line 920 in _bootstrap_inner
File "/usr/lib/python3.4/threading.py", line 888 in _bootstrap
Thread 0xb6f39300 (most recent call first):
File "/usr/lib/python3.4/threading.py", line 1076 in _wait_for_tstate_lock
File "/usr/lib/python3.4/threading.py", line 1060 in join
File "/usr/lib/python3.4/threading.py", line 1294 in _shutdown
Segmentation fault
【问题讨论】:
-
分段错误通常是从 ODBC 驱动程序代码中引发的,而不是从 pyodbc 代码本身引发的。您使用的是哪个 ODBC 驱动程序?
-
@GordThompson
code[FreeTDS] 描述 = FreeTDS unixODBC Driver Driver = /usr/lib/arm-linux-gnueabihf/odbc/libtdsodbc.socode -
@GordThompson Pyodbc 版本是:--- 名称:pyodbc 版本:4.0.26 位置:/usr/local/lib/python3.4/dist-packages 我搜索了更多,发现 4.0 版本有这个分段错误的问题吗?还请确认这一点并建议现在如何解决此问题..
标签: python-3.x multithreading sockets client-server pyodbc