当我使用 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)