Exemplo n.º 1
0
function goForIt()
{
    $mongo = new MongoClient();
    $emails = $mongo->selectDB('emails_tester')->selectCollection('emails');
    $servers = ['tcp://gmail-smtp-in.l.google.com:25', 'tcp://alt1.gmail-smtp-in.l.google.com:25', 'tcp://alt2.gmail-smtp-in.l.google.com:25', 'tcp://alt3.gmail-smtp-in.l.google.com:25', 'tcp://alt4.gmail-smtp-in.l.google.com:25'];
    /** @var Client[] $clients */
    $clients = [];
    $loop = React\EventLoop\Factory::create();
    $logger = new \Zend\Log\Logger();
    $writer = new \Zend\Log\Writer\Stream('php://output');
    $logger->addWriter($writer);
    $logger->info('Creating clients.');
    $start = microtime(1);
    $checked = 0;
    for ($i = 0; $i < 100; $i++) {
        $client = new Client($loop, function ($record) use(&$checked, $emails, $start, $logger) {
            $record['state'] = 'valid';
            $emails->save($record);
            $checked++;
            if ($checked % 1000 == 0) {
                $logger->info("Checked: {$checked}. Speed: " . $checked / (microtime(1) - $start) . " emails/sec.");
            }
        }, function ($record, $reason) use(&$checked, $emails, $start, $logger) {
            $record['state'] = 'invalid';
            $emails->save($record);
            if ($reason !== false) {
                $logger->warn("Email <{$record['email']}> failed check: {$reason}");
            }
            $checked++;
            if ($checked % 1000 == 0) {
                $logger->info("Checked: {$checked}. Speed: " . $checked / (microtime(1) - $start) . " emails/sec.");
            }
        });
        $clients[] = $client;
    }
    $logger->info('Done.');
    $loop->addPeriodicTimer(0.001, function () use($clients, $emails, $servers, $logger) {
        foreach ($clients as $c) {
            if ($c->getState() === Client::STATE_DISCONNECTED) {
                $logger->info(spl_object_hash($c) . ": connecting...");
                $c->connect($servers[mt_rand(0, count($servers) - 1)]);
                return;
            }
            if ($c->getState() === Client::STATE_BUSY) {
                continue;
            }
            if ($c->getState() === Client::STATE_IDLE) {
                $record = $emails->findOne(['state' => ['$exists' => false]]);
                if (!isset($record['email'])) {
                    continue;
                }
                $record['state'] = 'in_progress';
                $emails->save($record);
                $c->checkEmail($record);
                continue;
            }
        }
    });
    $loop->run();
}
Exemplo n.º 2
0
 public function perform()
 {
     $writer = new \Zend\Log\Writer\Stream(EVA_PUBLIC_PATH . '/worker.log');
     $logger = new \Zend\Log\Logger();
     $logger->addWriter($writer);
     $logger->info('Informational message');
 }
Exemplo n.º 3
0
 function LogMessage($message)
 {
     if (Constants::IS_LOG) {
         $logger = new \Zend\Log\Logger();
         $writer = new \Zend\Log\Writer\Stream(Constants::LOG_FILE);
         $logger->addWriter($writer);
         $logger->info($message);
     }
 }
Exemplo n.º 4
0
 public function connect()
 {
     $restapi = new RestApi();
     $result = $restapi->request('https://slack.com/api/rtm.start', array('get' => array('token' => $this->oauth_token)));
     if (is_object($result) && !empty($result->url)) {
         $loop = \React\EventLoop\Factory::create();
         $logger = new \Zend\Log\Logger();
         if ($this->debug) {
             $writer = new \Zend\Log\Writer\Stream("php://output");
         } else {
             $writer = new \Zend\Log\Writer\Noop();
         }
         $logger->addWriter($writer);
         $this->client = $client = new \Devristo\Phpws\Client\WebSocket($result->url, $loop, $logger);
         $client->on("connect", function () use($logger, $client) {
             $logger->notice("Connected");
         });
         $client->on("message", function ($message) use($client, $logger) {
             $event = json_decode($message->getData());
             if (!is_object($event)) {
                 $logger->warning("Invalid JSON");
                 return;
             }
             $logger->notice("Received message:\n" . print_r($event, true));
             if (isset($event->type) && $event->type == 'message' && empty($event->subtype)) {
                 $user = $event->user;
                 // TODO: get username
                 $channel = $event->channel;
                 $message = $event->text;
                 $message = preg_replace('/<(http[^\\|]+)\\|[^>]+>/', '$1', $message);
                 $message = preg_replace('/<(http[^\\>]+)>/', '$1', $message);
                 $communication = array('user_name' => $user, 'text' => $message, 'bot_type' => 'slack');
                 if ($response = $this->respond($communication)) {
                     $responseEvent = array('id' => $this->id, 'type' => 'message', 'channel' => $channel, 'text' => $response);
                     $logger->notice("Sending message:\n" . print_r($responseEvent, true));
                     $client->send(json_encode($responseEvent));
                 }
             }
         });
         $loop->addPeriodicTimer(5, function () use($client, $logger) {
             $id = ++$this->id;
             $logger->info('Sending ping');
             $event = array('id' => $id, 'type' => 'ping');
             $client->send(json_encode($event));
         });
         $client->open();
         $loop->run();
     }
 }
Exemplo n.º 5
0
 public function setLogs($message)
 {
     $writerArr = array('stream' => APPLICATION_PUBLIC_PATH . '/logs/error.log', 'mode' => 'a');
     $writer = new \Zend\Log\Writer\Stream($writerArr);
     $formatter = new \Zend\Log\Formatter\Simple('%timestamp% %message%' . PHP_EOL);
     $writer->setFormatter($formatter);
     $logger = new \Zend\Log\Logger();
     $logger->addWriter($writer);
     $logger->info($message);
 }
Exemplo n.º 6
0
 /**
  * Generates PHP files with field names as constants
  */
 public function generateDbConstants()
 {
     $metadata = new \Zend\Db\Metadata\Metadata($this->dbAdapter);
     $schema = $this->dbAdapter->getDriver()->getConnection()->getCurrentSchema();
     $tables = $metadata->getTableNames($schema, true);
     foreach ($tables as $table) {
         $words = explode('_', $table);
         $class = 'Db';
         foreach ($words as $word) {
             $word[0] = strtoupper($word[0]);
             $class = $class . $word;
         }
         $filename = __DIR__ . '/../Utils/DbConsts/' . $class . '.php';
         if (file_exists($filename)) {
             unlink($filename);
         }
         $writer = new \Zend\Log\Writer\Stream($filename);
         $writer->setFormatter(new \Zend\Log\Formatter\Simple('%message%'));
         $logger = new \Zend\Log\Logger();
         $logger->addWriter($writer);
         $logger->info('<?php');
         $logger->info('');
         $logger->info('namespace Application\\Utils\\DbConsts;');
         $logger->info('');
         $logger->info("class {$class}");
         $logger->info('{');
         $logger->info("    const TABLE = '{$table}';");
         $columns = $metadata->getColumnNames($table, $schema);
         foreach ($columns as $column) {
             $logger->info(vsprintf("    const %s = '%s';", array(strtoupper($column), $column)));
         }
         $logger->info('');
         $hasConst = '
 static public function hasField($field) 
 {
     if (!is_string($field)) {
         return false;
     }
     $field = strtoupper($field);
     $reflect = new \\ReflectionClass(__CLASS__);
     foreach ($reflect->getConstants() as $name => $value) {
         if (strtoupper($value) === $field) {
             return true;
         }
     };
     return false;
 }';
         $logger->info($hasConst);
         $logger->info('}');
         $logger = null;
         chmod($filename, 0777);
     }
 }
Exemplo n.º 7
0
 /**
  * Assign subtotal amount and label to address object
  *
  * @param \Magento\Quote\Model\Quote $quote
  * @param Address\Total $total
  * @return array
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 public function fetch(\Magento\Quote\Model\Quote $quote, \Magento\Quote\Model\Quote\Address\Total $total)
 {
     $writer = new \Zend\Log\Writer\Stream('D:\\testing2.log');
     $logger = new \Zend\Log\Logger();
     $logger->addWriter($writer);
     //$logger->info('98 '.$this->_request->getParam('sdcnt'));
     //$sdcntVal = floatval($this->_request->getParam('sdcnt'));
     // $sdcntVal = $this->_request->getParam('sdcnt');
     // $logger->info('103 = sdcntVal == '.$sdcntVal);
     /* $sdcntValRef = 0;
        if(!empty($_SERVER['HTTP_REFERER'])){           
             $referer = $_SERVER['HTTP_REFERER'];
             $logger->info('107 $referer == '.$referer);
             $logger->info('108 '.stristr($referer, "sdcnt"));
            
             $parse_url = parse_url($referer);
             if(array_key_exists('query',$parse_url)){
                 $sdcntValRef = $parse_url['query'];                
                 $sdcntValRef = substr($sdcntValRef, 6);
                 $logger->info('sdcntValRef through referer == '.$sdcntValRef);
             }
         }*/
     //$this->_catalogSession->setShoppreeDiscount('25');
     $logger->info($this->_checkoutSession->getShoppreeDiscount());
     //$logger->info($_COOKIE);
     $sdcntVal = 0;
     $myVal = $this->_checkoutSession->getShoppreeDiscount();
     if (!isset($myVal)) {
         $logger->info("Shoppree Discount is not set!");
     } else {
         $sdcntVal = floatval($myVal);
         $logger->info('Shoppree Discount val in collect is = ' . $sdcntVal);
     }
     /*return [
           'code' => 'fee',
           'title' => 'Fee',
           'value' => 0
       ];*/
     return ['code' => 'fee', 'title' => 'Fee', 'value' => $sdcntVal];
 }
 /**
  *
  * @param ServiceLocatorInterface $serviceLocator            
  * @param DataTransferAgentInterface $dataTransferAgent            
  */
 private function injectLogger(ServiceLocatorInterface $serviceLocator, DataTransferAgentInterface $dataTransferAgent)
 {
     $logFilePath = $this->getLogPath($dataTransferAgent->getExecution(), $serviceLocator);
     $writer = new \Zend\Log\Writer\Stream($logFilePath);
     $logger = new \Zend\Log\Logger();
     $logger->addWriter($writer);
     $logger->info($this->translate($serviceLocator, "Injection of logger to file") . " " . $logFilePath);
     $dataTransferAgent->setLogger($logger);
     $dataTransferAgent->setLogFilePath($logFilePath);
 }
Exemplo n.º 9
0
<?php

require_once '../vendor/autoload.php';
if (!file_exists('config.php')) {
    die('Please create a config.php file that creates a properly defined Pusher object called $pusher and places it in the global scope.  <?php $pusher = new Pusher("123123", "12312, "123123"); ?>.  You can probably just copy it from your Pusher PHP example source page.');
}
require_once 'config.php';
$adapter = new Eschrade\PusherLogger\PusherAdapter();
$adapter->setPusher($pusher);
$logger = new Zend\Log\Logger();
$logger->addWriter($adapter);
$logger->debug('This is a test debug');
$logger->crit('This is a test crit');
$logger->err('This is a test error');
$logger->notice('This is a test notice');
$logger->warn('This is a test warn');
$logger->info('This is a test info');