handle prod mysql timeout && graphics improve
This commit is contained in:
@@ -189,6 +189,8 @@ main {
|
|||||||
background: -webkit-linear-gradient(top, rgba(35, 111, 135, 1) 0%, rgba(149, 207, 245, 1) 100%);
|
background: -webkit-linear-gradient(top, rgba(35, 111, 135, 1) 0%, rgba(149, 207, 245, 1) 100%);
|
||||||
background: linear-gradient(to bottom, rgba(35, 111, 135, 1) 0%, rgba(149, 207, 245, 1) 100%);
|
background: linear-gradient(to bottom, rgba(35, 111, 135, 1) 0%, rgba(149, 207, 245, 1) 100%);
|
||||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#236f87', endColorstr='#95cff5', GradientType=0);
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#236f87', endColorstr='#95cff5', GradientType=0);
|
||||||
|
|
||||||
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#mine-wrapper .game-wrapper .users .user-container.user-red {
|
#mine-wrapper .game-wrapper .users .user-container.user-red {
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ class MineseekerRpc implements RpcInterface
|
|||||||
*/
|
*/
|
||||||
private function getGrid($gameAssoc)
|
private function getGrid($gameAssoc)
|
||||||
{
|
{
|
||||||
|
$this->reConnect();
|
||||||
$getsee = array();
|
$getsee = array();
|
||||||
|
|
||||||
$this->em->clear();
|
$this->em->clear();
|
||||||
@@ -87,6 +88,7 @@ class MineseekerRpc implements RpcInterface
|
|||||||
*/
|
*/
|
||||||
private function saveGrid($data)
|
private function saveGrid($data)
|
||||||
{
|
{
|
||||||
|
$this->reConnect();
|
||||||
$playedGame = new PlayedGame();
|
$playedGame = new PlayedGame();
|
||||||
$grid = new Grid();
|
$grid = new Grid();
|
||||||
|
|
||||||
@@ -113,4 +115,19 @@ class MineseekerRpc implements RpcInterface
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Handle prod MySQL timeout */
|
||||||
|
private function reConnect()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$connection = $this->em->getConnection();
|
||||||
|
|
||||||
|
if (false === $connection->ping()) {
|
||||||
|
$connection->close();
|
||||||
|
$connection->connect();
|
||||||
|
}
|
||||||
|
} catch(PDOException $ex) {
|
||||||
|
throw PDOException::class;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace Mine\SeekerBundle\Topic;
|
namespace Mine\SeekerBundle\Topic;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Driver\PDOException;
|
||||||
use Doctrine\ORM\EntityManager;
|
use Doctrine\ORM\EntityManager;
|
||||||
use Gos\Bundle\WebSocketBundle\Client\ClientManipulatorInterface;
|
use Gos\Bundle\WebSocketBundle\Client\ClientManipulatorInterface;
|
||||||
use Gos\Bundle\WebSocketBundle\Topic\TopicInterface;
|
use Gos\Bundle\WebSocketBundle\Topic\TopicInterface;
|
||||||
@@ -43,7 +44,7 @@ class MineseekerTopic implements TopicInterface
|
|||||||
* @param ConnectionInterface $connection
|
* @param ConnectionInterface $connection
|
||||||
* @param Topic $topic
|
* @param Topic $topic
|
||||||
* @param WampRequest $request
|
* @param WampRequest $request
|
||||||
* @return void
|
* @return void4
|
||||||
*/
|
*/
|
||||||
public function onSubscribe(ConnectionInterface $connection, Topic $topic, WampRequest $request)
|
public function onSubscribe(ConnectionInterface $connection, Topic $topic, WampRequest $request)
|
||||||
{
|
{
|
||||||
@@ -131,6 +132,7 @@ class MineseekerTopic implements TopicInterface
|
|||||||
*/
|
*/
|
||||||
private function saveResignToDb($topic, $color)
|
private function saveResignToDb($topic, $color)
|
||||||
{
|
{
|
||||||
|
$this->reConnect();
|
||||||
$gameAssoc = explode('/', $topic->getId())[2];
|
$gameAssoc = explode('/', $topic->getId())[2];
|
||||||
|
|
||||||
$playedGame = $this->em
|
$playedGame = $this->em
|
||||||
@@ -150,6 +152,7 @@ class MineseekerTopic implements TopicInterface
|
|||||||
*/
|
*/
|
||||||
private function saveStepToDb($topic, $event)
|
private function saveStepToDb($topic, $event)
|
||||||
{
|
{
|
||||||
|
$this->reConnect();
|
||||||
$gameAssoc = explode('/', $topic->getId())[2];
|
$gameAssoc = explode('/', $topic->getId())[2];
|
||||||
|
|
||||||
$playedGame = $this->em
|
$playedGame = $this->em
|
||||||
@@ -184,6 +187,7 @@ class MineseekerTopic implements TopicInterface
|
|||||||
*/
|
*/
|
||||||
private function saveUserToDb($topic, $userName, $user, $count)
|
private function saveUserToDb($topic, $userName, $user, $count)
|
||||||
{
|
{
|
||||||
|
$this->reConnect();
|
||||||
$gameAssoc = explode('/', $topic->getId())[2];
|
$gameAssoc = explode('/', $topic->getId())[2];
|
||||||
|
|
||||||
$playedGame = $this->em
|
$playedGame = $this->em
|
||||||
@@ -234,4 +238,19 @@ class MineseekerTopic implements TopicInterface
|
|||||||
'blueAnon' => null !== $playedGame->getBlueAnon() ? $playedGame->getBlueAnon()->getUserName() : ''
|
'blueAnon' => null !== $playedGame->getBlueAnon() ? $playedGame->getBlueAnon()->getUserName() : ''
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Handle prod MySQL timeout */
|
||||||
|
private function reConnect()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$connection = $this->em->getConnection();
|
||||||
|
|
||||||
|
if (false === $connection->ping()) {
|
||||||
|
$connection->close();
|
||||||
|
$connection->connect();
|
||||||
|
}
|
||||||
|
} catch(PDOException $ex) {
|
||||||
|
throw PDOException::class;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user