1. В общем столкнулся с неожиданным.
Пишу скрипт:
var i = 1;
exec('какая нибудь команда', function(err,stdout,stderr){
log(i);
i = stdout;
})
log (i);
Выясняется что внутри exec переменная i видна. Но если её изменить то изменения будут только внутри exec. снаружи она останется без изменений.
Это правильно? Вроде в чистом js все должно меняться если я отдельно внутри exec не объявил переменную с аналогичным именем.
2. Логика работы со скриптами
Написал я некий скрипт.
Есть он у меня в дереве скриптов. и есть у него состояние - запущен или остановлен.
Вопрос - что это состояние означает?
Т.е. например скрипт подписывается на изменение какого то параметра. Тогда логично что когда скрипт запущен то он ждет изменения и при наличии оных делает чтото.
А если скрипт просто выполняет некий набор действий. без подписки. Какое у него должно быть состояние? Просто когда я делаю его запущеным он выполняется как минимум один раз чего мне совершенно не надо.
Хотя может я не правильно понял идиологию?
У меня есть некий набор действий который нужно выполнить в двух случаях:
1. По расписанию
2. По запросу пользователя.
Я предположил что можно написать скрипт "Набор действий" выполнения этих действий. далее пишу ещё два скрипта:
1. По расписанию раз в 20 минут выполнять "Набор действий"
2. В случае нажатия на кнопку выполнить "Набор действий"
Вроде как запуск скрипта возможен - runScript/startScript
Я использовал startScript. и он почемуто не сработал т.е. сперва я неправильно вводил название скрипта и были ошибки. но когда ввел правильно ничего не произошло.
Как такую задачу выполнять?
Есть вариант подписать скрипт на какуюнибудь переменную а других скриптах менять её. Но как то нелогично мне это.
3. вопрос можно ли запустить скрипт из другого скрипта и получить от него ответ? т.е. использовать другой скрипт как функцию?
4. есть ли гдето описание как это все работает? а то случайно наткнулся на доку на гитхабе. но она тоже не раскрывает многих тем.
Пока все ))))