- Debugging

parent f9a41350
......@@ -39,42 +39,37 @@ class DefaultController extends BaseController
* Метод для крона и ручного вызова. Проверяет таблицу с расписанием, выполняет сработавшие триггеры.
*/
public function actionRechecktriggers(){
/** @var TriggerSchedule[] $uncheckedArray */
/** @var TriggerTrigger[] $actualTriggers */
// Получили текущую дату и время
$timeNow = new DateTime();
// Получили все те сообщения которые еще не обработаны и имеют дату равную или меньше текущей
$uncheckedArray = TriggerSchedule::find()->where('checked=:checked', [':checked' => false])->all();
var_dump($uncheckedArray);
$uncheckedArray = TriggerSchedule::find()->where('checked=:checked AND time <= :time_now', [':checked' => 0, ':time_now' => $timeNow->format('Y-m-d H:i:s')])->all();
// Получили все актуальные триггеры в базе
$actualTriggers = TriggerTrigger::getActualTriggers();
// Перебираем эти сообщения в цикле
foreach($uncheckedArray as $message) {
$time = new DateTime($message->time);
if ($time<$timeNow) {
echo ':::'.$message->id.'<br>';
$triggerIsUsed = false;
// Проверяем каждое сообщение на срабатывание триггера
foreach($actualTriggers as $trigger) {
echo $trigger->id; echo '<br>';
// Вызвали срабатывание условий
$triggerResult = Conditions::init()->handleMessageByTriggerId($message, $trigger->getPrimaryKey());
// Если триггер сработал инициируем действие
if ($triggerResult===true) {
$init = $trigger->initAction();
if ($init===true) {
$triggerIsUsed=true;
} else {
echo $init;
}
echo ':::'.$message->id.'<br>';
$triggerIsUsed = false;
// Проверяем каждое сообщение на срабатывание триггера
foreach($actualTriggers as $trigger) {
echo $trigger->id; echo '<br>';
// Вызвали срабатывание условий
$triggerResult = Conditions::init()->handleMessageByTriggerId($message, $trigger->getPrimaryKey());
// Если триггер сработал инициируем действие
if ($triggerResult===true) {
$init = $trigger->initAction();
if ($init===true) {
$triggerIsUsed=true;
} else {
echo $init;
}
}
if ($triggerIsUsed===true) {
/** @var TriggerSchedule $model */
$model=TriggerSchedule::findOne($message->getPrimaryKey());
$model->checked=1;
$model->save();
}
}
if ($triggerIsUsed===true) {
/** @var TriggerSchedule $model */
$model=TriggerSchedule::findOne($message->getPrimaryKey());
$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