本文整理汇总了PHP中pts_client::pts_logger方法的典型用法代码示例。如果您正苦于以下问题:PHP pts_client::pts_logger方法的具体用法?PHP pts_client::pts_logger怎么用?PHP pts_client::pts_logger使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pts_client
的用法示例。
在下文中一共展示了pts_client::pts_logger方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: run_connection
public static function run_connection($args)
{
if (pts_client::create_lock(PTS_USER_PATH . 'phoromatic_lock') == false) {
trigger_error('Phoromatic is already running.', E_USER_ERROR);
return false;
}
define('PHOROMATIC_PROCESS', true);
if (pts_client::$pts_logger == false) {
pts_client::$pts_logger = new pts_logger();
}
pts_client::$pts_logger->log(pts_title(true) . ' [' . PTS_CORE_VERSION . '] starting Phoromatic client');
if (phodevi::system_uptime() < 60) {
echo 'PHOROMATIC: Sleeping for 60 seconds as system freshly started.' . PHP_EOL;
pts_client::$pts_logger->log('Sleeping for 60 seconds as system freshly started');
sleep(60);
}
$server_setup = self::setup_server_addressing($args);
//$http_comm = new phoromatic_client_comm_http();
if (!$server_setup) {
if (PTS_IS_DAEMONIZED_SERVER_PROCESS) {
if (pts_client::executable_in_path('reboot')) {
shell_exec('reboot');
sleep(5);
}
}
return false;
}
$times_failed = 0;
$has_success = false;
$do_exit = false;
$just_started = true;
self::setup_system_environment();
pts_client::$pts_logger->log('SYSTEM HARDWARE: ' . phodevi::system_hardware(true));
pts_client::$pts_logger->log('SYSTEM SOFTWARE: ' . phodevi::system_software(true));
while ($do_exit == false) {
$server_response = phoromatic::upload_to_remote_server(array('r' => 'start'));
if ($server_response == false) {
$times_failed++;
pts_client::$pts_logger->log('Server response failed');
if ($times_failed >= 2) {
trigger_error('Communication with server failed.', E_USER_ERROR);
if (PTS_IS_DAEMONIZED_SERVER_PROCESS == false && $times_failed > 5) {
return false;
} else {
if (PTS_IS_DAEMONIZED_SERVER_PROCESS && $times_failed > 10) {
if (pts_client::executable_in_path('reboot')) {
shell_exec('reboot');
sleep(5);
}
}
}
}
} else {
if (substr($server_response, 0, 1) == '[') {
// Likely a notice/warning from server
echo PHP_EOL . substr($server_response, 0, strpos($server_response, PHP_EOL)) . PHP_EOL;
} else {
if (substr($server_response, 0, 1) == '{') {
$times_failed = 0;
$json = json_decode($server_response, true);
if ($has_success == false) {
$has_success = true;
pts_module::save_file('last-phoromatic-server', self::$server_address . ':' . self::$server_http_port . '/' . self::$account_id);
}
if ($json != null) {
if (isset($json['phoromatic']['error']) && !empty($json['phoromatic']['error'])) {
trigger_error($json['phoromatic']['error'], E_USER_ERROR);
}
if (isset($json['phoromatic']['response']) && !empty($json['phoromatic']['response'])) {
echo PHP_EOL . $json['phoromatic']['response'] . PHP_EOL;
}
}
if ($just_started) {
if (PTS_IS_DAEMONIZED_SERVER_PROCESS) {
$pid = pcntl_fork();
if ($pid == 0) {
// Start the tick thread
self::tick_thread();
}
}
$just_started = false;
}
if (isset($json['phoromatic']['pre_set_sys_env_vars']) && !empty($json['phoromatic']['pre_set_sys_env_vars'])) {
// pre_set_sys_env_vars was added during PTS 5.8 development
// Sets environment variables on client as specified via the Phoromatic Server's systems page
foreach (explode(';', $json['phoromatic']['pre_set_sys_env_vars']) as $i => $v_string) {
$var = explode('=', $v_string);
if (count($var) == 2) {
putenv($var[0] . '=' . $var[1]);
}
}
}
switch (isset($json['phoromatic']['task']) ? $json['phoromatic']['task'] : null) {
case 'install':
phoromatic::update_system_status('Installing Tests');
pts_suite_nye_XmlReader::set_temporary_suite('pre-seed', $json['phoromatic']['test_suite']);
pts_test_installer::standard_install('pre-seed');
break;
case 'benchmark':
// Make sure all latest tests are available
//.........这里部分代码省略.........