Created
March 2, 2015 00:37
-
-
Save im-denisenko/0ba9f138d7a0b20c30a6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace Realty\Main\Command; | |
use Symfony\Component\Console\Input\InputInterface; | |
use Symfony\Component\Console\Output\OutputInterface; | |
class FakeShowCounterCommand extends ContainerAwareCommand | |
{ | |
/** | |
* {@inheritdoc} | |
*/ | |
protected function configure() | |
{ | |
$this->setName('fake_show_counter'); | |
$this->setDescription('Emulate page hits'); | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
protected function execute(InputInterface $input, OutputInterface $output) | |
{ | |
$connection = $this->getContainer()->get('connection'); | |
$queries = [ | |
'START TRANSACTION;', | |
'UPDATE `realty_offer` SET `SHOW_COUNTER`=`SHOW_COUNTER`+FLOOR(1+10*0.3*(RAND()+RAND()+RAND())) WHERE RAND() < 0.5 AND DATEDIFF(NOW(), `CREATION_DATE`) BETWEEN 0 AND 5', | |
'UPDATE `realty_offer` SET `SHOW_COUNTER`=`SHOW_COUNTER`+FLOOR(1+8*0.3*(RAND()+RAND()+RAND())) WHERE RAND() < 0.4 AND DATEDIFF(NOW(), `CREATION_DATE`) BETWEEN 6 AND 10', | |
'UPDATE `realty_offer` SET `SHOW_COUNTER`=`SHOW_COUNTER`+FLOOR(1+6*0.3*(RAND()+RAND()+RAND())) WHERE RAND() < 0.3 AND DATEDIFF(NOW(), `CREATION_DATE`) BETWEEN 11 AND 15', | |
'UPDATE `realty_offer` SET `SHOW_COUNTER`=`SHOW_COUNTER`+FLOOR(1+4*0.3*(RAND()+RAND()+RAND())) WHERE RAND() < 0.2 AND DATEDIFF(NOW(), `CREATION_DATE`) BETWEEN 16 AND 20', | |
'UPDATE `realty_offer` SET `SHOW_COUNTER`=`SHOW_COUNTER`+FLOOR(1+2*0.3*(RAND()+RAND()+RAND())) WHERE RAND() < 0.1 AND DATEDIFF(NOW(), `CREATION_DATE`) BETWEEN 21 AND 30', | |
'UPDATE `realty_offer` SET `SHOW_COUNTER`=`SHOW_COUNTER`+FLOOR(1+1*0.3*(RAND()+RAND()+RAND())) WHERE RAND() < 0.05 AND DATEDIFF(NOW(), `CREATION_DATE`) >= 30', | |
'COMMIT;', | |
]; | |
foreach ($queries as $query) { | |
$connection->queryExecute($query); | |
} | |
$output->writeln('<info>Done</info>'); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment