Chainik писал(а): ↑Вт июн 02, 2020 10:04 am
если метод или сценарий будет передавать данные "сам в себя"
Тут как раз хочется уйти от методов и сценариев. Сейчас у меня именно так и сделано. При их вызове тоже совершается много работы в системе.
Chainik писал(а): ↑Вт июн 02, 2020 10:04 am
Внутри цикла можно сделать счетчики, чтобы "бегать" за новой переменной не при каждой итерации, а, допустим, через каждые 100 итераций.
Это первое, что пришло в голову, но тут мы получим задержку на период от одной до 100 итераций. Получится ситуация, когда мы говорим перейти к следующей фазе процесса, а система как бы ждет, "думает". Придется уменьшать счетчик. Это вызовет частые чтения свойства. Но, в прочем, это не так и страшно, по сравнению с тем, что у меня сейчас.
skysilver писал(а): ↑Вт июн 02, 2020 10:35 am
1. Либо через таблицу в БД, как посредник.
2. Либо в цикле слушать сокет, а из методов/сценариев кидать туда команды.
Через БД, по сути это почти тоже самое что использовать штатную getGlobal(). И так же придется добавить счетчик.
А вот сокет выглядит очень интересным решением. Но я пока не рискну. Дело в том, что у меня как раз беда с этими сокетами. Очень часто падает цикл. Да и сам механизм работы сокетов я не изучал. Это пока в моей личной очереди.
Так что, учитывая что руки чешутся попробовать, склоняюсь к варианту читать свойство из цикла каждые несколько итераций. На следующей неделе у меня как раз будет несколько перегонов спирта сырца. Вот и испытаю.