From 4d5a9b978b89ff606439245bbd82bd412b09eefe Mon Sep 17 00:00:00 2001 From: Lang Date: Wed, 21 Dec 2016 16:16:16 +0100 Subject: [PATCH] bugfix mine websocket periodic mysql calling --- .../SeekerBundle/Periodic/MinePeriodic.php | 24 +++++++------------ .../Resources/config/services.yml | 4 +++- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/src/Mine/SeekerBundle/Periodic/MinePeriodic.php b/src/Mine/SeekerBundle/Periodic/MinePeriodic.php index 1f63b04..1736b15 100644 --- a/src/Mine/SeekerBundle/Periodic/MinePeriodic.php +++ b/src/Mine/SeekerBundle/Periodic/MinePeriodic.php @@ -2,17 +2,18 @@ namespace Mine\SeekerBundle\Periodic; -use Doctrine\DBAL\Driver\PDOException; -use Doctrine\ORM\EntityManager; +use Gos\Bundle\WebSocketBundle\Periodic\PdoPeriodicPing; use Gos\Bundle\WebSocketBundle\Periodic\PeriodicInterface; +use PDO; class MinePeriodic implements PeriodicInterface { - private $em; + /** @var PdoPeriodicPing */ + private $ping; - public function __construct(EntityManager $entityManager) + public function __construct(PdoPeriodicPing $ping) { - $this->em = $entityManager; + $this->ping = $ping; } /** @@ -22,16 +23,7 @@ class MinePeriodic implements PeriodicInterface */ public function tick() { - try { - $connection = $this->em->getConnection(); - - if (false === $connection->ping()) { - $connection->close(); - $connection->connect(); - } - } catch(PDOException $ex) { - throw PDOException::class; - } + $this->ping->tick(); } /** @@ -39,6 +31,6 @@ class MinePeriodic implements PeriodicInterface */ public function getTimeout() { - return 777; + return 300; } } diff --git a/src/Mine/SeekerBundle/Resources/config/services.yml b/src/Mine/SeekerBundle/Resources/config/services.yml index 25057b7..81d5372 100644 --- a/src/Mine/SeekerBundle/Resources/config/services.yml +++ b/src/Mine/SeekerBundle/Resources/config/services.yml @@ -27,8 +27,10 @@ services: mineseeker.periodic: class: Mine\SeekerBundle\Periodic\MinePeriodic + tags: + - { name: gos_web_socket.periodic } arguments: - doctrine: '@doctrine.orm.entity_manager' + ping: '@gos_web_socket.pdo.periodic_ping' mineseeker.topic_sample_service: class: Mine\SeekerBundle\Topic\MineseekerTopic