LogCleaner.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace MGModule\DNSManager2\mgLibs\custom\task;
  3. use MGModule\DNSManager2\mgLibs\custom\manager\GlobalSettingHelper;
  4. use MGModule\DNSManager2\models\custom\task;
  5. use MGModule\DNSManager2\models\custom\globalsetting\GlobalSettingEnum;
  6. use MGModule\DNSManager2\models\custom\log;
  7. use \MGModule\DNSManager2\mgLibs\custom\manager\LogHelper;
  8. use \MGModule\DNSManager2\mgLibs\custom\task\TaskTypeCodesCodes;
  9. class LogCleaner extends TaskAbstract
  10. {
  11. protected $abort_after_repeats = array('main' => 0);
  12. protected $taskTypeCode = TaskTypeCodesCodes::LOGCLEANER;
  13. public function mainDescription()
  14. {
  15. return 'Log Cleaner';
  16. }
  17. public function main($params)
  18. {
  19. $this->setStatus(task\TaskStatusEnum::IN_PROGRESS);
  20. LogHelper::addSuccessLog($this->mainDescription().' ', 'Cron '.$this->mainDescription().' Started');
  21. $older_than = GlobalSettingHelper::getSetting(GlobalSettingEnum::DELETE_LOGS_OLDER_THAN);
  22. $date = date('Y-m-d H:i:s', strtotime("-$older_than days"));
  23. $rep = new log\Repository();
  24. $rep->setFilter(0, array(
  25. 'customQuery' => '`date` < :date ',
  26. 'params' => array('date' => $date),
  27. ));
  28. $logCount = $rep->count();
  29. $rep->delete();
  30. $logCountWord = $logCount == 1 ? 'Record' : 'Records';
  31. LogHelper::addSuccessLog($this->mainDescription().' ', 'End Of Cron '.$this->mainDescription().' Run - '.$logCount.' Log '.$logCountWord.' Deleted');
  32. }
  33. }