小编Mix*_*Mix的帖子

Django:如何获得与数据库的新连接

我用 django 构建了一个 Web 服务器。

并使用一个线程来运行任务,将客户端发送的数据保存到数据库中。

  while True:
      ...
      try:  
          self.dbTarget, created = ClientMonitor.objects.get_or_create(Machine_code=own_MachC)

          data = self.workQueue.get()  #from client sent

          self.dbTarget.setValue(data) #Custom method assigning
          self.dbTarget.save()         #django ORM
      except InterfaceError as ee:
          pass
Run Code Online (Sandbox Code Playgroud)

该线程是长时间运行的,但长时间运行后会抛出InterfaceError,因为mysql服务器因八小时超时而断开连接。

特别是它不能自动重新连接到数据库。创建一个新线程就可以了,但是会增加资源占用。

所以我想在同一线程中关闭连接时重新连接数据库。此外,Django 每个请求都会获得一个新的连接。

如何在同一线程中获得与数据库的新连接?谢谢你!!!

python mysql django

4
推荐指数
1
解决办法
6528
查看次数

标签 统计

django ×1

mysql ×1

python ×1