本文整理汇总了PHP中jeedom::start方法的典型用法代码示例。如果您正苦于以下问题:PHP jeedom::start方法的具体用法?PHP jeedom::start怎么用?PHP jeedom::start使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jeedom
的用法示例。
在下文中一共展示了jeedom::start方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: cron
public static function cron()
{
if (!self::isStarted()) {
config::save('enableScenario', 1);
config::save('enableCron', 1);
$cache = cache::byKey('jeedom::usbMapping');
$cache->remove();
foreach (cron::all() as $cron) {
if ($cron->running() && $cron->getClass() != 'jeedom' && $cron->getFunction() != 'cron') {
try {
$cron->halt();
} catch (Exception $e) {
}
}
}
try {
jeedom::start();
} catch (Exception $e) {
}
try {
plugin::start();
} catch (Exception $e) {
}
touch('/tmp/jeedom_start');
self::event('start');
log::add('core', 'info', 'Démarrage de Jeedom OK');
}
self::isDateOk();
try {
$c = new Cron\CronExpression(config::byKey('update::check'), new Cron\FieldFactory());
if ($c->isDue()) {
$lastCheck = strtotime(config::byKey('update::lastCheck'));
if (strtotime('now') - $lastCheck > 3600) {
if (config::byKey('update::auto') == 1) {
update::checkAllUpdate();
jeedom::update('', 0);
} else {
config::save('update::check', rand(1, 59) . ' ' . rand(6, 7) . ' * * *');
update::checkAllUpdate();
$updates = update::byStatus('update');
if (count($updates) > 0) {
$toUpdate = '';
foreach ($updates as $update) {
$toUpdate .= $update->getLogicalId() . ',';
}
message::add('update', __('De nouvelles mises à jour sont disponibles : ', __FILE__) . trim($toUpdate, ','), '', 'newUpdate');
}
}
}
}
$c = new Cron\CronExpression('35 00 * * 0', new Cron\FieldFactory());
if ($c->isDue()) {
cache::clean();
DB::optimize();
}
$c = new Cron\CronExpression('02 02 * * *', new Cron\FieldFactory());
if ($c->isDue()) {
try {
log::chunk();
cron::clean();
} catch (Exception $e) {
log::add('log', 'error', $e->getMessage());
}
}
$c = new Cron\CronExpression('21 23 * * *', new Cron\FieldFactory());
if ($c->isDue()) {
try {
scenario::cleanTable();
user::cleanOutdatedUser();
scenario::consystencyCheck();
} catch (Exception $e) {
log::add('scenario', 'error', $e->getMessage());
}
}
} catch (Exception $e) {
}
}
示例2: express
} else {
config::save('cronSleepTime', 60);
}
config::save('logLevel', $logLevel);
echo "OK\n";
echo 'Installation de socket.io et express (peut etre très long > 30min)';
echo shell_exec('cd ' . dirname(__FILE__) . '/../core/nodeJS;sudo npm install socket.io;npm install express');
echo "OK\n";
}
config::save('version', jeedom::version());
} catch (Exception $e) {
if ($update) {
if ($backup_ok && $update_begin) {
jeedom::restore();
}
jeedom::start();
}
echo __('Erreur durant l\'installation : ', __FILE__) . $e->getMessage();
echo __('Details : ', __FILE__) . print_r($e->getTrace());
echo "[END UPDATE ERROR]\n";
throw $e;
}
echo "[END UPDATE SUCCESS]\n";
function incrementVersion($_version)
{
$version = explode('.', $_version);
if ($version[2] < 500) {
$version[2]++;
} else {
if ($version[1] < 500) {
$version[1]++;