- Debugging

parent f9a41350
...@@ -39,42 +39,37 @@ class DefaultController extends BaseController ...@@ -39,42 +39,37 @@ class DefaultController extends BaseController
* Метод для крона и ручного вызова. Проверяет таблицу с расписанием, выполняет сработавшие триггеры. * Метод для крона и ручного вызова. Проверяет таблицу с расписанием, выполняет сработавшие триггеры.
*/ */
public function actionRechecktriggers(){ public function actionRechecktriggers(){
/** @var TriggerSchedule[] $uncheckedArray */
/** @var TriggerTrigger[] $actualTriggers */ /** @var TriggerTrigger[] $actualTriggers */
// Получили текущую дату и время // Получили текущую дату и время
$timeNow = new DateTime(); $timeNow = new DateTime();
// Получили все те сообщения которые еще не обработаны и имеют дату равную или меньше текущей // Получили все те сообщения которые еще не обработаны и имеют дату равную или меньше текущей
$uncheckedArray = TriggerSchedule::find()->where('checked=:checked', [':checked' => false])->all(); $uncheckedArray = TriggerSchedule::find()->where('checked=:checked AND time <= :time_now', [':checked' => 0, ':time_now' => $timeNow->format('Y-m-d H:i:s')])->all();
var_dump($uncheckedArray);
// Получили все актуальные триггеры в базе // Получили все актуальные триггеры в базе
$actualTriggers = TriggerTrigger::getActualTriggers(); $actualTriggers = TriggerTrigger::getActualTriggers();
// Перебираем эти сообщения в цикле // Перебираем эти сообщения в цикле
foreach($uncheckedArray as $message) { foreach($uncheckedArray as $message) {
$time = new DateTime($message->time); echo ':::'.$message->id.'<br>';
if ($time<$timeNow) { $triggerIsUsed = false;
echo ':::'.$message->id.'<br>'; // Проверяем каждое сообщение на срабатывание триггера
$triggerIsUsed = false; foreach($actualTriggers as $trigger) {
// Проверяем каждое сообщение на срабатывание триггера echo $trigger->id; echo '<br>';
foreach($actualTriggers as $trigger) { // Вызвали срабатывание условий
echo $trigger->id; echo '<br>'; $triggerResult = Conditions::init()->handleMessageByTriggerId($message, $trigger->getPrimaryKey());
// Вызвали срабатывание условий // Если триггер сработал инициируем действие
$triggerResult = Conditions::init()->handleMessageByTriggerId($message, $trigger->getPrimaryKey()); if ($triggerResult===true) {
// Если триггер сработал инициируем действие $init = $trigger->initAction();
if ($triggerResult===true) { if ($init===true) {
$init = $trigger->initAction(); $triggerIsUsed=true;
if ($init===true) { } else {
$triggerIsUsed=true; echo $init;
} else {
echo $init;
}
} }
} }
if ($triggerIsUsed===true) { }
/** @var TriggerSchedule $model */ if ($triggerIsUsed===true) {
$model=TriggerSchedule::findOne($message->getPrimaryKey()); /** @var TriggerSchedule $model */
$model->checked=1; $model=TriggerSchedule::findOne($message->getPrimaryKey());
$model->save(); $model->checked=1;
} $model->save();
} }
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment