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

Пропадает код из методов

Добавлено: Пт ноя 19, 2021 3:32 am
amelnyk
В упор не могу понять, у меня периодически пропадают реализации методов, асбсолютно разных. Да, я знаю что база коцается при пропадании электричества, я за этим слежу, и восстанавливаю бд из бекапа прошлого дня после таких случаев.
Но вот после этого(я так думаю) иногда методы не восстанавливаются... какой бы я бекап не поднял, причем я точно знаю что реализация там была на ту дату.
Есть у кого предположения?

Re: Пропадает код из методов

Добавлено: Пт ноя 19, 2021 8:05 am
tarasfrompir
Поправлено - извените...
Зустрічаю такуж хуйню на Raspbery PI 4. Залізо точно тут ні до чого, а от реалізація зберігання бази в самому Мажордомо дуже "хромает".
Оскільки сам користуюсь Віндовсом - то там такох питань в мене не виникало ніколи.

Re: Пропадает код из методов

Добавлено: Пт ноя 19, 2021 10:54 am
amelnyk
да часто достаточно, просто сейчас одновременно несколько методов пропало, чуть не расплакался) и постоянно стрёмно, что из логики моей чё то отвалится, а я могу и не заметить

Re: Пропадает код из методов

Добавлено: Пт ноя 19, 2021 11:02 am
Chainik
Скорее всего связано с тем, что на Малинках все что происходит записывается в память и только раз в 15 минут на карту памяти. У вас значит что-то не записывается.
На винде с таким не сталкивался ни разу.

Re: Пропадает код из методов

Добавлено: Пт ноя 19, 2021 1:04 pm
amelnyk
вот например метод setUpdatedText куда-то испарился, хотя стоял как обработчик изменения свойства. Он и отображается на списке свойста, а когда внутрь свойста заходишь - там пусто

Re: Пропадает код из методов

Добавлено: Пт ноя 19, 2021 4:34 pm
amelnyk
пытался воспроизвести спецом, пока столкнулся с таким кейсом, на примере метода keepAlive у девайсов.
изначально был там родной код

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

require(DIR_MODULES.'devices/SDevices_keepAlive.php');
я добавил свой, а родной код закоментировал.
После восстановления из бекапа родной метод сам раскоментировался))
я удалил родной код совсем, и после восстановления из бекапа, родной код снова там появился в добавок к моему коду....
Короче, я так полагаю, в каком то случае, оно родным кодом, который принудительно тычет при восстановлении, затирает код, что в методе, если плохо расспарсило куда вставлять родной код.
Пока другой логики не увидел.

Вопрос, почему восстанавливается родная инъекция кода в методах, если я её там убираю? кто это делает?

Re: Пропадает код из методов

Добавлено: Пт ноя 19, 2021 8:10 pm
xor
amelnyk писал(а):
Пт ноя 19, 2021 4:34 pm
пытался воспроизвести спецом, пока столкнулся с таким кейсом, на примере метода keepAlive у девайсов.
изначально был там родной код

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

require(DIR_MODULES.'devices/SDevices_keepAlive.php');
я добавил свой, а родной код закоментировал.
После восстановления из бекапа родной метод сам раскоментировался))
я удалил родной код совсем, и после восстановления из бекапа, родной код снова там появился в добавок к моему коду....
Короче, я так полагаю, в каком то случае, оно родным кодом, который принудительно тычет при восстановлении, затирает код, что в методе, если плохо расспарсило куда вставлять родной код.
Пока другой логики не увидел.

Вопрос, почему восстанавливается родная инъекция кода в методах, если я её там убираю? кто это делает?
удаленные инъекции восстанавливаются ядром, да. чтобы они не работали, в коде перед ними ставят строку
return;
2021-11-19_20-12-33.png
2021-11-19_20-12-33.png (57.85 КБ) 2052 просмотра

Re: Пропадает код из методов

Добавлено: Пт ноя 19, 2021 11:24 pm
amelnyk
ок, спасибо, попробую не комментировать их

Re: Пропадает код из методов

Добавлено: Вт дек 21, 2021 12:26 pm
amelnyk
xor писал(а):
Пт ноя 19, 2021 8:10 pm
удаленные инъекции восстанавливаются ядром, да. чтобы они не работали, в коде перед ними ставят строку
return;
шото не помогло, всё равно метод перезаписался дефолтной инъекцией, хотя было return перед ней

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

/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/SDevices_keepAlive.php');
/* end injection of {SDevices} */
жесть конечно. пишешь пишешь логику, а потом трям, приехали, везде пусто

Re: Пропадает код из методов

Добавлено: Вт дек 21, 2021 10:07 pm
xor
amelnyk писал(а):
Вт дек 21, 2021 12:26 pm
xor писал(а):
Пт ноя 19, 2021 8:10 pm
удаленные инъекции восстанавливаются ядром, да. чтобы они не работали, в коде перед ними ставят строку
return;
шото не помогло, всё равно метод перезаписался дефолтной инъекцией, хотя было return перед ней

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

/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/SDevices_keepAlive.php');
/* end injection of {SDevices} */
жесть конечно. пишешь пишешь логику, а потом трям, приехали, везде пусто
ну это как раз объясняется тем, что у вас код пропадает( а пустой метод инжектируется