Hi,

uWSGI with gevent loop appears to not be working with flask and
mysql.connection sad to say.


/usr/local/bin/uwsgi --chdir /var/zenapi --pidfile /var/run/api.pid --loop
gevent --socket 127.0.0.1:8030 --pythonpath /var/zenapi/app --pythonpath
/var/zenapi  --
processes 1 --file /var/zenapi/wsgi.py --callable app -b 32000 --master
--gevent 30 --enable-threads --listen 2048  --logto2 /tmp/api.log


INSERT INTO api.loadtest (loadtest) VALUES
('d2a2c9fd-24ed-4bee-87ec-d21fef78fd02')
register error: (<class 'gevent.hub.ConcurrentObjectUseError'>,
ConcurrentObjectUseError('This socket is already used by another greenlet:
<bound method Waiter.switch of <gevent.hub.Waiter object at
0x7fe487cc1f00>>',), <traceback object at 0x7fe487d06710>)
Traceback (most recent call last):
  File "/var/zenapi/resources/load.py", line 58, in post
    results = db.execute_query(query,select=False,table=table,key=load)
  File "/var/zenapi/mysql_tools.py", line 117, in execute_query
    self.conn.set_property(tables=["%s.%s" % (self.database,table)],
scope=fabric.SCOPE_GLOBAL, key=key, mode=fabric.MODE_READWRITE)
  File
"/usr/lib/python2.7/dist-packages/mysql/connector/fabric/connection.py",
line 1321, in set_property
    self.close()
  File
"/usr/lib/python2.7/dist-packages/mysql/connector/fabric/connection.py",
line 1503, in disconnect
    self.rollback()
  File
"/usr/lib/python2.7/dist-packages/mysql/connector/fabric/connection.py",
line 1591, in rollback
    self._mysql_cnx.rollback()
  File "/usr/lib/python2.7/dist-packages/mysql/connector/connection.py",
line 857, in rollback
    self._execute_query("ROLLBACK")
  File "/usr/lib/python2.7/dist-packages/mysql/connector/connection.py",
line 869, in _execute_query
    self.cmd_query(query)
  File "/usr/lib/python2.7/dist-packages/mysql/connector/connection.py",
line 488, in cmd_query
    result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query))
  File "/usr/lib/python2.7/dist-packages/mysql/connector/connection.py",
line 267, in _send_cmd
    return self._socket.recv()
  File "/usr/lib/python2.7/dist-packages/mysql/connector/network.py", line
226, in recv_plain
    chunk = self.sock.recv(4 - packet_len)
  File
"/usr/local/lib/python2.7/dist-packages/gevent-1.1.0-py2.7-linux-x86_64.egg/gevent/_socket2.py",
line 280, in recv
    self._wait(self._read_event)
  File
"/usr/local/lib/python2.7/dist-packages/gevent-1.1.0-py2.7-linux-x86_64.egg/gevent/_socket2.py",
line 173, in _wait
    raise _socketcommon.ConcurrentObjectUseError('This socket is already
used by another greenlet: %r' % (watcher.callback, ))
ConcurrentObjectUseError: This socket is already used by another greenlet:
<bound method Waiter.switch of <gevent.hub.Waiter object at 0x7fe487cc1f00>>
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to