I tried to include pool_recycle = 10 (seconds) in my create_engine call but 
that doesn't fix the problem. I still get the same error. Hmm....

On Monday, April 1, 2013 7:04:48 PM UTC-7, algot...@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.


Reply via email to