Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是什么导致MySQL挂起我的Python脚本?_Python_Mysql_Python 2.7 - Fatal编程技术网

是什么导致MySQL挂起我的Python脚本?

是什么导致MySQL挂起我的Python脚本?,python,mysql,python-2.7,Python,Mysql,Python 2.7,我有一个非常简单的Python脚本。它启动了10个进程池,每个进程: 对1000条记录发出外部API请求 解析XML响应 将每条记录插入MySQL数据库 这里没有什么特别棘手的事情,但当我达到90000条记录时,脚本就挂起了 mysql> show processlist; +----+------+-----------------+---------------+---------+------+-------+------------------+ | Id | User | Hos

我有一个非常简单的Python脚本。它启动了10个进程池,每个进程:

  • 对1000条记录发出外部API请求
  • 解析XML响应
  • 将每条记录插入MySQL数据库
  • 这里没有什么特别棘手的事情,但当我达到90000条记录时,脚本就挂起了

    mysql> show processlist;
    +----+------+-----------------+---------------+---------+------+-------+------------------+
    | Id | User | Host            | db            | Command | Time | State | Info             |
    +----+------+-----------------+---------------+---------+------+-------+------------------+
    | 44 | root | localhost:48130 | my_database | Sleep   |   57 |       | NULL             |
    | 45 | root | localhost:48131 | NULL          | Sleep   |    6 |       | NULL             |
    | 59 | root | localhost       | my_database | Sleep   |  506 |       | NULL             |
    | 60 | root | localhost       | NULL          | Query   |    0 | NULL  | show processlist |
    +----+------+-----------------+---------------+---------+------+-------+------------------+
    
    我有大约一百万条记录要导入,所以我还有很长很长的路要走

    如何防止挂起并保持脚本移动

    Python 2.7.6
    MySQL-python 1.2.5
    

    不完全是我想做的,但我发现按要求打开和关闭连接似乎可以推动事情的发展。

    不完全是我想做的,但我发现按要求打开和关闭连接似乎可以推动事情的发展。

    您是如何和多久连接到数据库的?(例如,您是否正在做一些愚蠢的事情,比如为每个记录写入创建单独的数据库连接?)查看脚本会有所帮助。@JohnGordon最初没有。我在脚本开始时打开连接,完成工作,并在脚本结束时关闭连接。我只是试着打开和关闭每个操作的连接(愚蠢的东西),这让我更进一步,实际上。也许外部API正在限制你的请求?您的脚本是挂在API读取、XML解析还是DB写入上?DB写入是个问题,但在目前有限的测试中,当我边走边打开和关闭时,问题似乎不那么严重。我讨厌这样做,但也许有一个超时设置我可以调整。我会调查的。我很确定这是MySQL的问题(不是Python),但我想在文章中加入上下文?(例如,您是否正在做一些愚蠢的事情,比如为每个记录写入创建单独的数据库连接?)查看脚本会有所帮助。@JohnGordon最初没有。我在脚本开始时打开连接,完成工作,并在脚本结束时关闭连接。我只是试着打开和关闭每个操作的连接(愚蠢的东西),这让我更进一步,实际上。也许外部API正在限制你的请求?您的脚本是挂在API读取、XML解析还是DB写入上?DB写入是个问题,但在目前有限的测试中,当我边走边打开和关闭时,问题似乎不那么严重。我讨厌这样做,但也许有一个超时设置我可以调整。我会调查的。我很确定这是MySQL的问题(不是Python),但我想在文章中加入上下文。