Пример #1
0
 /**
  * Parses command line arguments
  * @param Daemon $d
  */
 public static function parseArgs(Daemon $d)
 {
     global $argc, $argv;
     if (php_sapi_name() != 'cli') {
         return;
     }
     if ($argc == 2) {
         switch ($argv[1]) {
             case 'start':
                 $d->start();
                 break;
             case 'stop':
                 $d->stop();
                 break;
             case 'restart':
                 $d->restart();
                 break;
             case 'status':
                 $status = $d->status();
                 echo static::getDaemonName($d) . " is" . ($status ? " " : " not ") . "running\n";
                 break;
             default:
                 echo "Unknown command " . $argv[1] . "\n";
                 exit(2);
         }
         exit;
     } else {
         echo sprintf("usage: %s start|stop|restart|status", $argv[0]);
         exit(2);
     }
 }
Пример #2
0
require('/etc/cdrtool/global.inc');
require('cdr_generic.php');
require('rating.php');
require('rating_server.php');

// Init Rating Engine
syslog(LOG_NOTICE,"Starting CDRTool Rating Engine...");

$RatingEngineServer = new RatingEngine();

if (!$RatingEngineServer->init_ok) {
    syslog(LOG_NOTICE,'Error: Cannot start Rating Engine, fix the errors and try again');
    exit;
}

syslog(LOG_NOTICE,"Rating Engine started sucesfully, going to background...");

// Go to the background
$d = new Daemon('/var/run/ratingEngine.pid');
$d->start();

$daemon = new socketDaemon();
$server = $daemon->create_server('ratingEngineServer', 'ratingEngineClient', $RatingEngine['socketIP'], $RatingEngine['socketPort']);

syslog(LOG_NOTICE,"Rating Engine is now ready to serve network requests");

$daemon->process();

?>