小编Yx.*_*.Ac的帖子

使用multiprocessing访问MySQL时,总是抛出如下错误,如何解决?

当我使用 Python 多处理访问 MySQL 数据库时,总是出现错误:

OperationalError: (2006, 'MySQL 服务器已经消失')

查询期间与 MySQL 服务器的连接丢失

如果有人能向我解释这一点,我将不胜感激。

这是我的代码:

class MetricSource:
  def __init__(self, task):
    self.task = task

  def get_next_task_time(self):
    try:
      task_id = self.task.id
      next_task = Task.objects.get(id=task_id)
      next_time = next_task.last_success_time
    except Task.DoesNotExist as e:
      print 'Find Exception: %d' % self.task.id

def access_queue(input_queue, output_queue):
  while True:
    try:
      metric_source = input_queue.get(timeout=0.5)
      metric_source.get_next_task_time()
      output_queue.put(metric_source)
    except Queue.Empty:
      print "Queue Empty Error"
      continue

class Command(BaseCommand):

  def handle(self, *args, **options):
    self.manager = multiprocessing.Manager()
    self.input_queue = self.manager.Queue()
    self.output_queue = self.manager.Queue()

    self.init_data()

    for i …
Run Code Online (Sandbox Code Playgroud)

python mysql multiprocessing

6
推荐指数
1
解决办法
2567
查看次数

标签 统计

multiprocessing ×1

mysql ×1

python ×1