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

cycle.php Removing ThisComputer

Добавлено: Пн июл 06, 2020 8:39 pm
arivano
Приветствую всех.
Останавливались циклы и ранее (причину так и не понял) если производить какие-то относительно значимые действия с системой. А вот сейчас после нескольких попыток обновить систему (вылетала ошибка с отсутствием достаточных прав на выполнение операций с базой данных, которую подправил) не получается запустить циклы. При выполнении команды php /var/www/html/cycle.php она постоянно зависает на фразе "Removing ThisComputer. (object 7)".
Может будет кто добр и подскажет, куда копнуть? Пробовал выполнять скрипт (взят из cycle.php), где из таблицы properties выбирает все записи с "cycle" в title, но что должно после происходить? Удаление каких-то записей из пары других таблиц. А правильно ли понял работу скрипта?
Команда mysqlcheck останавливается на db_terminal.perfomance_log. Эта таблица пустая.

Re: cycle.php Removing ThisComputer

Добавлено: Пн июл 06, 2020 11:08 pm
xor
arivano писал(а):
Пн июл 06, 2020 8:39 pm
Приветствую всех.
Останавливались циклы и ранее (причину так и не понял) если производить какие-то относительно значимые действия с системой. А вот сейчас после нескольких попыток обновить систему (вылетала ошибка с отсутствием достаточных прав на выполнение операций с базой данных, которую подправил) не получается запустить циклы. При выполнении команды php /var/www/html/cycle.php она постоянно зависает на фразе "Removing ThisComputer. (object 7)".
Может будет кто добр и подскажет, куда копнуть? Пробовал выполнять скрипт (взят из cycle.php), где из таблицы properties выбирает все записи с "cycle" в title, но что должно после происходить? Удаление каких-то записей из пары других таблиц. А правильно ли понял работу скрипта?
Команда mysqlcheck останавливается на db_terminal.perfomance_log. Эта таблица пустая.
открываете файл cycle.php и смотрите

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

// Removing cycles properties
$qry="1 AND (TITLE LIKE 'cycle%Run' OR TITLE LIKE 'cycle%Control' OR TITLE LIKE 'cycle%Disabled' OR TITLE LIKE 'cycle%AutoRestart')"; 
$thisCompObject = getObject('ThisComputer');
$cycles_records=SQLSelect("SELECT properties.* FROM properties WHERE $qry ORDER BY TITLE"); //выберем все свойства, которые начинаются с cycle
$total = count($cycles_records);
for ($i = 0; $i < $total; $i++) {
   //DebMes("Removing property ThisComputer.$property",'threads');
   echo "Removing ThisComputer.$property (object ".$thisCompObject->id.")"; // вот ваша отладочная строка, где $property ещё пусто
   $property=$cycles_records[$i]['TITLE'];  //а вот тут эта переменная появляется, так что тут всё ок, по-хорошему, эти две строки надо местами поменять для отладки)
   ... //дальше у вас зависает
это всё берёт свойства, начинающиеся с cycle из объекта ThisComputer и удаляет их. раскомментируйте все debmes дальше и смотрите в файле логов threads, что там у вас (ну или эхо добавьте)

Re: cycle.php Removing ThisComputer

Добавлено: Вт июл 07, 2020 4:45 pm
arivano
xor писал(а):
Пн июл 06, 2020 11:08 pm
arivano писал(а):
Пн июл 06, 2020 8:39 pm
Приветствую всех.
Останавливались циклы и ранее (причину так и не понял) если производить какие-то относительно значимые действия с системой. А вот сейчас после нескольких попыток обновить систему (вылетала ошибка с отсутствием достаточных прав на выполнение операций с базой данных, которую подправил) не получается запустить циклы. При выполнении команды php /var/www/html/cycle.php она постоянно зависает на фразе "Removing ThisComputer. (object 7)".
Может будет кто добр и подскажет, куда копнуть? Пробовал выполнять скрипт (взят из cycle.php), где из таблицы properties выбирает все записи с "cycle" в title, но что должно после происходить? Удаление каких-то записей из пары других таблиц. А правильно ли понял работу скрипта?
Команда mysqlcheck останавливается на db_terminal.perfomance_log. Эта таблица пустая.
открываете файл cycle.php и смотрите

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

// Removing cycles properties
$qry="1 AND (TITLE LIKE 'cycle%Run' OR TITLE LIKE 'cycle%Control' OR TITLE LIKE 'cycle%Disabled' OR TITLE LIKE 'cycle%AutoRestart')"; 
$thisCompObject = getObject('ThisComputer');
$cycles_records=SQLSelect("SELECT properties.* FROM properties WHERE $qry ORDER BY TITLE"); //выберем все свойства, которые начинаются с cycle
$total = count($cycles_records);
for ($i = 0; $i < $total; $i++) {
   //DebMes("Removing property ThisComputer.$property",'threads');
   echo "Removing ThisComputer.$property (object ".$thisCompObject->id.")"; // вот ваша отладочная строка, где $property ещё пусто
   $property=$cycles_records[$i]['TITLE'];  //а вот тут эта переменная появляется, так что тут всё ок, по-хорошему, эти две строки надо местами поменять для отладки)
   ... //дальше у вас зависает
это всё берёт свойства, начинающиеся с cycle из объекта ThisComputer и удаляет их. раскомментируйте все debmes дальше и смотрите в файле логов threads, что там у вас (ну или эхо добавьте)
Спасибо за помощь!
Что было, так и не разобрался, но всё заработало.
Раскомментировал пару строк, как вы и советовали, удалил пару модулей.