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

时间:2016-03-03 15:15:59

标签: python mysql python-2.7

我有一个非常简单的Python脚本。它开启了每个流程的10个流程:

  1. 为1,000条记录制作外部API请求
  2. 解析XML响应
  3. 将每条记录插入MySQL数据库
  4. 这里没有什么特别棘手的问题,但是当我达到90,000条记录时,脚本会挂起。

    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
    

1 个答案:

答案 0 :(得分:0)

不完全是我想要做的,但我发现根据需要打开和关闭连接似乎可以解决问题。