我在我的 symfony 应用程序中使用 gearman 工作人员。工作人员使用 symfony 服务,例如原则等。我可以同时运行多个工作人员。我想知道当主义一次获得多个查询时(每个工作人员同时执行一个查询),它如何处理数据库查询。是否可以与数据库建立不同的连接,以便我的 gearman 工作人员可以将每个连接用于特定目的,例如一个连接用于从数据库读取数据,一个连接用于写入数据库?
谢谢
最佳答案
每个工作人员都是自己的进程,有自己的 EntityManager,每个都有自己的连接。因此,默认情况下,每个工作人员只有一个连接。
就“一次多个查询”而言,这就像 Web 绑定(bind)流程中发生的情况一样。从数据库的角度来看,是完全一样的。多个同时连接执行查询。
worker 的棘手之处在于,它们往往比 Web 绑定(bind)进程(针对每个传入的 HTTP 请求重新初始化)的生命周期长得多。你需要特别小心,闲置的员工可能会出现连接超时的情况,因此当他们最终找到工作时,他们就会爆发。
关于php - 学说可以有多个到数据库的连接吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22175498/