Страница 1 из 2

Ошибка в common.class.php

Добавлено: Чт сен 05, 2013 9:07 am
denis
в файле common.class.php нашлась такая строка в коде:

SQLExec("DELEE FROM jobs WHERE EXPIRE
вместо как я понимаю
SQLExec("DELETE FROM jobs WHERE EXPIRE

это только у меня так, кто-то "порылся" или при обновлении закралась ошибка?

Re: Ошибка в common.class.php

Добавлено: Чт сен 05, 2013 11:53 am
LutsenkoDenis
на github'е я такой записи вообще не нашел.
как называется функция в которой этот кусок кода находится?

Re: Ошибка в common.class.php

Добавлено: Чт сен 05, 2013 12:47 pm
denis
вот кусок кода (как было):

Код: Выделить всё

function runScheduledJobs() {
  //SQLExec("UPDATE jobs SET EXPIRED=1 WHERE PROCESSED=0 AND EXPIRE<='".date('Y-m-d H:i:s')."'");
  SQLExec("DELEE FROM jobs WHERE EXPIRE<='".date('Y-m-d H:i:s')."'");

Re: Ошибка в common.class.php

Добавлено: Чт сен 05, 2013 1:31 pm
LutsenkoDenis
Ок. Нашел.
Если я всё правильно понял, то 16 дней назад Сергей внёс данное изменение.
Могу конечно ошибаться, т.к. не смог не гитхабе найти автора данного изменения в явном виде.

Тут в общем-то опечатка. Правильно естественно DELETE.

Re: Ошибка в common.class.php

Добавлено: Чт сен 05, 2013 1:40 pm
denis
у меня из-за этого "scheduler cycle" останавливался, вот и стал искать.

Re: Ошибка в common.class.php

Добавлено: Чт сен 05, 2013 2:07 pm
dimitrystd
Да, была такая бага, тоже локально пофиксил. Пора бы какието тесты добавлять в проект или всётки логирование ошибок.

Re: Ошибка в common.class.php

Добавлено: Чт сен 05, 2013 3:16 pm
LutsenkoDenis
dimitrystd писал(а):Да, была такая бага, тоже локально пофиксил. Пора бы какието тесты добавлять в проект или всётки логирование ошибок.
Я начал добавлять Log4php. При обращении к mysql должно писать в лог.
В основную ветку MDM еще не добавлено.

В настоящий момент если при обращении к БД произошла ошибка, то:
1. В лог пишет DebMes.
2. Отправляется письмо. (Ну по крайней мере должно отправляться.)

Re: Ошибка в common.class.php

Добавлено: Чт сен 05, 2013 3:33 pm
denis
собственно debmes и помог в поиске ошибки.

Re: Ошибка в common.class.php

Добавлено: Чт сен 05, 2013 9:53 pm
dimitrystd
LutsenkoDenis писал(а):Я начал добавлять Log4php.
Мои мечты начинают сбываться 8-)
А можно пару вопросов касательно интеграции Log4php. Конечно наверное лучше вести в отдельной теме, но пока тут.
1. Будет один логер на весь код?
2. А можно пример как он конфигурится? (через код или xml)

А можно мои пожелания рассмотреть
3. Формировать имя логера для существующего кода как то так
majordomo.<moduleName>.<className_or_fileName>
4. А если я хочу получить логер из метода (метод добавляю через UI MDM), то я пишу чтото вроде

Код: Выделить всё

$log = Logger.getLogger();
....
$log.debug("выключить свет");
и в этом месте создаётся логер с именем вроде
majordomo.<className>.<objectName>

Конечно по умолчанию прописан логер по умолчанию который пишет в файл только WARN или ERROR сообщения. Но если мне вдруг надо отдебажить метод в класе Megadevice то я добавляю в конфиг

Код: Выделить всё

<logger name="majordomo.Megadevice">
  <level value="DEBUG" />
  <appender_ref ref="fileAppender" />
</logger>
и у меня наступает счастье что не надо бегать по методам и раскоментировать DebMes. А т.к. выключателей много и жена и ребёнок их клацают мешая отдебажить поведение выключателя в кладовке, то я пишу

Код: Выделить всё

<logger name="majordomo.Megadevice.Storeroom">
  <level value="DEBUG" />
  <appender_ref ref="fileAppender" />
</logger>
и начинаю получать сообщения только от одного объекта. Как вам такая задумка?

Re: Ошибка в common.class.php

Добавлено: Чт сен 05, 2013 10:05 pm
LutsenkoDenis
направил исправление DELEE в основную ветку