what is the actual reason that MySQL is disconnecting, is it actually being 
restarted while the operation proceeds ?     running a long query shouldn't 
cause the connection to die off unless something goes wrong with the operation.




On Apr 1, 2013, at 10:04 PM, algotr8...@gmail.com wrote:

> I am using the sqlalchemy package in python. I have an operation that takes 
> some time to execute after I perform an autoload on an existing table. This 
> causes the following error when I attempt to use the connection:
> 
> sqlalchemy.exc.OperationalError: (OperationalError) (2006, 'MySQL server has 
> gone away')
> 
> I have a simple utility function that performs an insert many:
> 
> def insert_data(data_2_insert, table_name):
>     engine = create_engine('mysql://blah:blah123@localhost/dbname')
>     # Metadata is a Table catalog. 
>     metadata = MetaData()
>     table = Table(table_name, metadata, autoload=True, autoload_with=engine)
>     for c in mytable.c:
>         print c
>     column_names = tuple(c.name for c in mytable.c)
>     final_data = [dict(zip(column_names, x)) for x in data_2_insert]
>     ins = mytable.insert()
>     conn = engine.connect()
>     conn.execute(ins, final_data)
>     conn.close()
> 
> It is the following line that times long time to execute since 
> 'data_2_insert' has 677,161 rows. 
> 
> final_data = [dict(zip(column_names, x)) for x in data_2_insert]
> 
> I came across the following post below which refers to a similar problem, 
> however I am not sure how to implement the connection management suggested as 
> I am quite a newbie. 
> 
> http://stackoverflow.com/questions/3033234/handle-mysql-restart-in-sqlalchemy
> 
> Note for SQLAlchemy 0.7 - PoolListener is deprecated, but The same solution 
> can be implemented using the new event system. – robots.jpg
> 
> Here is the link to the new event system described by one of the users:
> 
> http://docs.sqlalchemy.org/en/latest/core/pooling.html#disconnect-handling-pessimistic
> 
> If someone can please show me a couple of pointers on how I could go about 
> integrating the suggestions into the way I use sqlalchemy I would be very 
> appreciative. Thank you.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sqlalchemy+unsubscr...@googlegroups.com.
> To post to this group, send email to sqlalchemy@googlegroups.com.
> Visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>  
>  

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to