Example #1
0
#!/usr/bin/env php
<?php 
//Send email by Gearman queue
require __DIR__ . '/../init_autoloader.php';
$appName = isset($argv[1]) ? $argv[1] : null;
$engine = new \Eva\EvaEngine\Engine(__DIR__ . '/..');
if ($appName) {
    $engine->setAppName($appName);
}
$engine->loadModules(include __DIR__ . '/../config/modules.' . $engine->getAppName() . '.php')->bootstrap();
$worker = $engine->getDI()->getWorker();
$worker->addFunction('sendmailAsync', 'sendmailAsync');
$logger = new Phalcon\Logger\Adapter\File($engine->getDI()->getConfig()->logger->path . 'worker_sendmail.log');
$logger->info(sprintf("Sendmail worker started by appname %s", $engine->getAppName()));
//MySQL interactive_timeout after 8 hours
function refreshDbConnect()
{
    global $engine;
    $di = $engine->getDI();
    $di->getDbMaster()->connect();
    $di->getDbSlave()->connect();
}
function sendmailAsync($job)
{
    global $engine;
    global $logger;
    $jobString = $job->workload();
    $logger->info(sprintf("Start sending mail by %s", $jobString));
    echo sprintf("Start sending mail by %s \n", $jobString);
    try {
        $work = json_decode($jobString, true);
Example #2
0
 public static function log(Exception $e)
 {
     //错误日志记录
     if (\Phalcon\DI::getDefault()->getShared('config')->log->file) {
         $logger = new \Phalcon\Logger\Adapter\File(APP_PATH . '/common/logs/' . date('Ymd') . '.log', array('mode' => 'a+'));
         $logger->error(get_class($e) . '[' . $e->getCode() . ']: ' . $e->getMessage());
         $logger->info($e->getFile() . '[' . $e->getLine() . ']');
         $logger->debug("Trace: \n" . $e->getTraceAsString() . "\n");
         $logger->close();
     }
     if (\Phalcon\DI::getDefault()->getShared('config')->log->debug) {
         \App\Controllers\ControllerCommon::instance()->exception($e);
     } else {
         \App\Controllers\ControllerCommon::instance()->exception('系统发生了错误,请联系管理员进行修复,错误代码:' . $e->getCode());
     }
 }