Tweak config and logs.

This commit is contained in:
Andrés Montañez 2013-07-06 20:46:29 -03:00
parent 39b1bf7cd5
commit 67a7f9d6fe
2 changed files with 34 additions and 6 deletions

View file

@ -63,6 +63,8 @@ class Mage_Console
if ($showGrettings) {
Mage_Console::output('Finished <blue>Magallanes</blue>', 0, 2);
}
self::_checkLogs($config);
}
/**
@ -132,4 +134,30 @@ class Mage_Console
fwrite(self::$_log, $message . PHP_EOL);
}
}
/**
* Check Logs
* @param Mage_Config $config
*/
private static function _checkLogs(Mage_Config $config)
{
if (self::$_logEnabled) {
$maxLogs = $config->general('maxlogs', 30);
$logs = array();
foreach (new RecursiveDirectoryIterator('.mage/logs', RecursiveDirectoryIterator::SKIP_DOTS) as $log) {
if (strpos($log->getFilename(), 'log-') === 0) {
$logs[] = $log->getFilename();
}
}
sort($logs);
if (count($logs) > $maxLogs) {
$logsToDelete = array_slice($logs, 0, count($logs) - $maxLogs);
foreach ($logsToDelete as $logToDeelte) {
unlink('.mage/logs/' . $logToDeelte);
}
}
}
}
}

View file

@ -18,7 +18,7 @@ class Mage_Task_BuiltIn_Deployment_Rsync
public function run()
{
$overrideRelease = $this->getConfig()->getParameter('overrideRelease', false);
$overrideRelease = $this->getParameter('overrideRelease', false);
if ($overrideRelease == true) {
$releaseToOverride = false;
@ -56,22 +56,22 @@ class Mage_Task_BuiltIn_Deployment_Rsync
. $this->getConfig()->deployment('user') . '@' . $this->getConfig()->getHostName() . ':' . $deployToDirectory;
$result = $this->_runLocalCommand($command);
// Count Releases
if ($this->getConfig()->release('enabled', false) == true) {
$releasesDirectory = $this->getConfig()->release('directory', 'releases');
$symlink = $this->getConfig()->release('symlink', 'current');
if (substr($symlink, 0, 1) == '/') {
$releasesDirectory = rtrim($this->getConfig()->deployment('to'), '/') . '/' . $releasesDirectory;
}
$maxReleases = $this->getConfig()->release('max', false);
if (($maxReleases !== false) && ($maxReleases > 0)) {
$releasesList = '';
$countReleasesFetch = $this->_runRemoteCommand('ls -1 ' . $releasesDirectory, $releasesList);
$releasesList = trim($releasesList);
if ($releasesList != '') {
$releasesList = explode(PHP_EOL, $releasesList);
if (count($releasesList) > $maxReleases) {
@ -79,7 +79,7 @@ class Mage_Task_BuiltIn_Deployment_Rsync
sort($releasesToDelete);
$releasesToDeleteCount = count($releasesToDelete) - $maxReleases;
$releasesToDelete = array_slice($releasesToDelete, 0, $releasesToDeleteCount + 1);
foreach ($releasesToDelete as $releaseIdToDelete) {
$directoryToDelete = $releasesDirectory . '/' . $releaseIdToDelete;
if ($directoryToDelete != '/') {