我使用eventlet構建了一個從this example開始的簡單網站爬蟲。 我想使用SQLAlchemy來存儲網頁的內容和元數據以便進一步處理。可以將SQLAlchemy和eventlet一起使用?有誰能提供一個簡單的例子嗎?在SQLAlchemy中使用eventlet
3
A
回答
3
對不起,延遲迴復。
它真的取決於你使用的數據庫連接庫。
- 對於C擴展庫,像MySQLdb的,Eventlet具有db_pool模塊如在OpenStack example使用。基本上,它創建一個操作系統線程池來執行阻止數據庫操作。所以你不可能真的有很多並行查詢,但是很可能你的數據庫無法繼續存在,所以這不是問題。
- 對於純Python庫,如myconnpy,pg8000,然後只需撥打
eventlet.monkey_patch()
即可。 - 作爲一種特殊情況,Eventlet支持psycopg2的猴子補丁。這是一個C擴展,但它足以提供IO鉤子,所以你可以兩全其美。再次,簡單的撥打
monkey_patch()
就可以做到這一點。
6
OpenStackCompute (Nova)項目使用SQLAlchemy和eventlet,您可能會對their approach感興趣。
相關問題
- 1. 在Python和Eventlet中使用多核心
- 2. 在sqlalchemy中使用sqlalchemy
- 3. 使用帶有eventlet的maxtasksperchild
- 4. getaddrinfo()在使用eventlet時似乎阻塞
- 5. 在pyramid_jqm中使用sqlalchemy
- 6. 在SQLAlchemy中使用OR
- 7. 芹菜+ eventlet = 100%CPU使用率
- 8. 我可以在Django + Postgres中使用Celery eventlet池嗎?
- 9. 在庫中使用FLASK socketIO的奇怪行爲庫eventlet
- 10. Eventlet和鎖定
- 11. Gunicorn + eventlet超時
- 12. 用eventlet下載文件
- 13. 如何在現有的sqlalchemy模型中使用flask-sqlalchemy?
- 14. eventlet上的資源
- 15. Eventlet vs Greenlet vs gevent?
- 16. 檢測eventlet環境?
- 17. 使用SQLAlchemy的
- 18. 使用SQLAlchemy的
- 19. 在Heroku上使用SQLAlchemy瓶
- 20. 在SQLAlchemy中使用臨時表
- 21. 在SQLAlchemy模型中使用__slots__
- 22. 如何在SQLAlchemy關係()中使用sortedcontainers.SortedList?
- 23. sqlalchemy在and_ filters中使用生成器
- 24. SQLALchemy-Utils:在LTree中使用'〜'運算符
- 25. 在Flask-SQLAlchemy中使用混音器
- 26. 適當的sqlalchemy在燒瓶中使用
- 27. 如何在sqlalchemy中使用psycopg2.extras?
- 28. 在sqlalchemy查詢中使用for循環
- 29. 在Flask-SQLAlchemy中使用ISO時間戳
- 30. 如何在SQLAlchemy中使用「複方令」
這應該是公認的答案。最好的方法是在SQLAlchemy NullPoll中使用eventlet db_pool模塊。 –