![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/app/bundles/CampaignBundle/Entity/ |
<?php namespace Mautic\CampaignBundle\Entity; use Doctrine\DBAL\Connection; use Doctrine\DBAL\Connections\PrimaryReadReplicaConnection; use Mautic\CampaignBundle\Executioner\ContactFinder\Limiter\ContactLimiter; /** * Trait ReplicaConnectionTrait. */ trait ReplicaConnectionTrait { /** * Get a connection, preferring a replica connection if available and prudent. * * If a query is being executed with a limiter with specific contacts * then this could be a real-time request being handled so we should avoid forcing a replica connection. */ private function getReplicaConnection(ContactLimiter $limiter = null): Connection { /** @var Connection $connection */ $connection = $this->getEntityManager()->getConnection(); if ($connection instanceof PrimaryReadReplicaConnection) { if ( !$limiter || !($limiter->getContactId() || $limiter->getContactIdList()) ) { $connection->ensureConnectedToReplica(); } } return $connection; } }