Exemplo n.º 1
0
array_shift($argv);
// 取出 appName ,命令行的第一个参数
$appName = array_shift($argv);
/*
|--------------------------------------------------------------------------
| 初始化 engine
|--------------------------------------------------------------------------
|
| 第一个参数为 APP 的根目录
| 第二个参数为 APP 的名称,用于定位配置文件,配置文件放置在 /config/ 目录,
| 配置文件命名规则为 modules.{appName}.php
| 第三个参数为 APP 的运行模式,支持 web 和 cli,默认是 web , 命令行模式下使用 cli
|
|
*/
$engine = new \Eva\EvaEngine\Engine(__DIR__ . '/', $appName ? $appName : 'evaengine', 'cli');
$engine->loadModules(include __DIR__ . '/config/modules.' . $engine->getAppName() . '.php')->bootstrap();
/** @var  $output Eva\EvaEngine\CLI\Output\ConsoleOutput */
$output = $engine->getDI()->getOutput();
try {
    /** @var  $dispatcher Phalcon\CLI\Dispatcher */
    $dispatcher = $engine->getDI()->getDispatcher();
    $engine->getApplication()->handle(array('module' => $dispatcher->getModuleName(), 'task' => $dispatcher->getTaskName(), 'action' => $dispatcher->getActionName(), 'params' => $dispatcher->getParams()));
} catch (\Phalcon\Exception $e) {
    $output->writeln('<error>  [ERROR]:' . $e->getMessage() . '  </error>');
    $output->writeln('');
    $output->writeln('<comment>' . $e->getTraceAsString() . '</comment>');
    exit(255);
}
// 输出内存使用情况,
$output->writelnInfo(sprintf("\n" . 'Memory usage: %sMB (peak: %sMB), time cost: %ss', memory_get_usage(true) / 1024 / 1024, memory_get_peak_usage(true) / 1024 / 1024, microtime(true) - $_start_time));
Exemplo n.º 2
0
/**
 * EvaThumber
 * URL based image transformation php library
 *
 * @link      https://github.com/AlloVince/EvaThumber
 * @copyright Copyright (c) 2012-2013 AlloVince (http://avnpc.com/)
 * @license   http://framework.zend.com/license/new-bsd New BSD License
 * @author    AlloVince
 */
error_reporting(E_ALL);
// Check php version
if (version_compare(phpversion(), '5.3.0', '<')) {
    die(printf('PHP 5.3.0 is required, you have %s', phpversion()));
}
require __DIR__ . '/../../init_autoloader.php';
$engine = new \Eva\EvaEngine\Engine(__DIR__ . '/../../', 'thumbnail');
$engine->loadModules(array("EvaCommon"))->bootstrap();
$localConfig = $engine->getDI()->get('config');
$config = new EvaThumber\Config\Config(include __DIR__ . '/config.default.php');
if (isset($localConfig->thumbnail->thumbers)) {
    $config = $config->merge(new EvaThumber\Config\Config(array('thumbers' => $localConfig->thumbnail->thumbers->toArray())));
}
try {
    $thumber = new EvaThumber\Thumber($config);
    $thumber->show();
} catch (Exception $e) {
    if (isset($localConfig->thumbnail->default->errorUri) && ($url = $localConfig->thumbnail->default->errorUri)) {
        header("location:{$url}?msg=" . urlencode($e->getMessage()));
    } else {
        throw $e;
    }
Exemplo n.º 3
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);
Exemplo n.º 4
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();
$newsManager = new \Eva\EvaLivenews\Models\NewsManager();
$newsManager->syncNewsToCache();
Exemplo n.º 5
0
<?php

use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Tools\Console\ConsoleRunner;
require __DIR__ . '/../init_autoloader.php';
$engine = new \Eva\EvaEngine\Engine(__DIR__ . '/..');
$engine->loadModules(array('EvaCore'));
$engine->bootstrap();
$config = $engine->getDI()->get('config');
$paths = array(__DIR__);
$isDevMode = true;
// the connection configuration
$dbParams = array('driver' => 'pdo_mysql', 'user' => $config->dbAdapter->master->username, 'password' => $config->dbAdapter->master->password, 'dbname' => $config->dbAdapter->master->dbname);
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
$entityManager = EntityManager::create($dbParams, $config);
/** @var $em \Doctrine\ORM\EntityManager */
$platform = $entityManager->getConnection()->getDatabasePlatform();
$platform->registerDoctrineTypeMapping('enum', 'string');
return ConsoleRunner::createHelperSet($entityManager);