BxDolAiTriggerScheduler.php 923 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php defined('BX_DOL') or die('hack attempt');
  2. /**
  3. * Copyright (c) UNA, Inc - https://una.io
  4. * MIT License - https://opensource.org/licenses/MIT
  5. *
  6. * @defgroup UnaCore UNA Core
  7. * @{
  8. */
  9. class BxDolAiTriggerScheduler extends BxDolAiTrigger
  10. {
  11. protected $_sType = 'scheduler';
  12. public function handle($mixed = null)
  13. {
  14. if (!BxDolAi::getInstance())
  15. return false;
  16. $aDate = is_array($mixed) ? $mixed : getdate(time());
  17. $aAgents = $this->getAgents();
  18. if (!$aAgents)
  19. return false;
  20. foreach ($aAgents as $aAgent) {
  21. if (function_exists('checkCronJob') && checkCronJob($aAgent['scheduler_cron'], $aDate))
  22. $this->call($aAgent);
  23. }
  24. return true;
  25. }
  26. public function getAgents()
  27. {
  28. $oDb = new BxDolAiQuery();
  29. return $oDb->getAgentsByTriggerType($this->getType());
  30. }
  31. }
  32. /** @} */