运行多个并发Python程序以访问同一数据库表

发布于 2021-01-29 15:01:36

Python中是否有任何东西可以允许您运行多个并发的Python程序,这些程序可能访问同一数据库表,并防止每个程序使用完整的cpu,从而使服务器剩下一些额外的容量?

关注者
0
被浏览
175
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    几个问题:

    1. 多个并发的Python程序-请参阅http://wiki.python.org/moin/Concurrency,首先,我将尝试使用内置模块multiprocessing(http://docs.python.org/2/library/multiprocessing.html
    2. 访问同一数据库表-每个进程应创建自己的数据库连接-在并发由rdbms和/或连接/查询选项管理/配置之后。如果您确实需要在进程之间进行同步,则可以使用Locks / Semaphores。
    3. 防止每个程序使用完整的cpu-这取决于您的进程应该做什么,我可以这样做:
      • 有一个始终运行的主程序(主进程),会暂停(time.sleep,gevent.sleep或类似程序),并产生并控制产生的进程(工人)
      • 产生的进程完成工作(工作人员)-打开新连接,执行数据库操作并退出

    我确定多处理(或其他)模块提供的某些工作流程/系统可以满足您的需求(工作人员,池,队列,管道,共享状态,同步等)。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看