Ru-Board.club
← Вернуться в раздел «Программы»

» nnCron

Автор: VoidVolker
Дата сообщения: 16.11.2015 23:06

Цитата:
Через некоторое произвольное время перестает работать, т.е. не запускается. В логах ничего нет. Иногда помогает перезапуск nncron, но обычно только перезагрузка компа. Другие задачи продолжают успешно работать. Win7x64 SP1 rus nncron.exe v 1.93b10 Build 1141 03.12.2009

Как запущен ннкрон? Как сервис или как приложение? Начиная с висты ннкрон необходимо запускать как приложение. Прична: отдельная сессия для сервисов и сервисы не имеют доступа к пользовательской сессии.
Автор: Coronerr
Дата сообщения: 16.11.2015 23:21
VoidVolker

Цитата:
Начиная с висты ннкрон необходимо запускать как приложение. Прична: отдельная сессия для сервисов и сервисы не имеют доступа к пользовательской сессии.

Всегда интересовал этот вопрос : уже не один год запускаю в Windews 7 как сервис. Надо ли менять метод запуска, если всё работает ?
Автор: VoidVolker
Дата сообщения: 17.11.2015 08:16

Цитата:
Всегда интересовал этот вопрос : уже не один год запускаю в Windews 7 как сервис. Надо ли менять метод запуска, если всё работает ?

Ну, понятие "все" растяжимое. Если в данном случае работает - то не обязательно. Но, при создании новой задачи можно упереться как раз в эти самые ограничения сервисов. Так что если вдруг что-то будет работать не так, как ожидается - скорее всего проблема именно в режиме запуска.
Автор: Breeze1
Дата сообщения: 17.11.2015 16:55
VoidVolker
00:06 17-11-2015
Цитата:

Цитата:Через некоторое произвольное время перестает работать, т.е. не запускается. В логах ничего нет. Иногда помогает перезапуск nncron, но обычно только перезагрузка компа. Другие задачи продолжают успешно работать. Win7x64 SP1 rus nncron.exe v 1.93b10 Build 1141 03.12.2009

Как запущен ннкрон? Как сервис или как приложение? Начиная с висты ннкрон необходимо запускать как приложение. Прична: отдельная сессия для сервисов и сервисы не имеют доступа к пользовательской сессии.

Запущен как приложение. Задача перестает работать после неизвестного сбоя в самом nncron.
15:28:29 6312 TASK: naviscope
15:28:29 8052 TASK: naviscope
15:28:30 8424 TASK: naviscope
15:28:30 8248 TASK: naviscope
15:28:30 4732 TASK: naviscope
15:28:30 8264 TASK: naviscope
15:28:30 4484 TASK: naviscope
15:28:31 3480 TASK: naviscope
15:28:31 6172 TASK: naviscope
15:28:33 3304 Start nnCron
15:28:33 3304 Load crontab
15:28:33 3304 C:\Users\xxxxxx\AppData\Roaming\nnCron\nncron.tab
15:28:33 6796 Console server is started.

Убрал из загрузки Ctxfihlp.exe. При очередном сбое посмотрел кто использует nnhook.dll. Это был сам nncron. После перезапуска, задача снова заработала.
Понять бы, почему перезагружается nncron?
Автор: VoidVolker
Дата сообщения: 18.11.2015 23:53

Цитата:
Понять бы, почему перезагружается nncron?

Возможно в какой-то другой задаче ошибка возникает. Имеет смысл выкинуть все задачи и добавлять по одной до появления бага, либо брать каждую задачу и запускать сто, тысячу, миллион раз.
Автор: Breeze1
Дата сообщения: 19.11.2015 11:59

Цитата:

Цитата: Понять бы, почему перезагружается nncron?

Возможно в какой-то другой задаче ошибка возникает.
Автор: VoidVolker
Дата сообщения: 20.11.2015 17:02
Анонс!
nnCron теперь официально доступен на гитхабе по адресу: https://github.com/nnCron/nnCron
Предложения, идеи, багерпорты, плагины - приветствуются

P.S. Репозитории в процессе наполнения, так что все будет со временем
Автор: VitRom
Дата сообщения: 20.11.2015 20:14
VoidVolker
Цитата:
ннкрон необходимо запускать как приложение. Прична: отдельная сессия для сервисов и сервисы не имеют доступа к пользовательской сессии.
а семёрочная служба ЕМНИП "UI0detect" он же "Обнаружение интерактивных сервисов" не помогает?
Автор: VoidVolker
Дата сообщения: 21.11.2015 09:03

Цитата:
а семёрочная служба ЕМНИП "UI0detect" он же "Обнаружение интерактивных сервисов" не помогает?

Она лишь для совместимости со старыми приложениями. Со временем, в новых ОС, вообще может её не оказаться.
Автор: Darth_Max
Дата сообщения: 22.11.2015 13:56
VoidVolker


Цитата:
nnCron теперь официально доступен на гитхабе по адресу: https://github.com/nnCron/nnCron

Это означает скорый выход новой версии nnCron? 2 года ничего нового после беты 13.
Автор: VoidVolker
Дата сообщения: 22.11.2015 22:18

Цитата:
Это означает скорый выход новой версии nnCron? 2 года ничего нового после беты 13.

А что нового надо? Чего не хватает? Огромнейший функционал из коробки, плюс множество плагинов и неограниченные возможности по написанию новых плагинов.
Автор: Waran789
Дата сообщения: 23.11.2015 10:16
VoidVolker
Лично мне не хватает нормального запуска службой, и еще хотелось бы фичу - чтобы можно было любую задачу в один клик из оболочки компильнуть в один единственный ехе, как это делает autoit, а уж если скомпиленый ехе можно было запускать с опциями - например запуститься как служба ну и так далее - ему бы вообще цены бы не было.
Автор: VoidVolker
Дата сообщения: 23.11.2015 18:50

Цитата:
Лично мне не хватает нормального запуска службой

При установке выбрать "установить как сервис".

Цитата:
и еще хотелось бы фичу - чтобы можно было любую задачу в один клик из оболочки компильнуть в один единственный ехе


Код: ' main-word MAINX ! S" my-task.exe" SAVE
Автор: Darth_Max
Дата сообщения: 28.12.2015 18:39
VoidVolker


Цитата:
А что нового надо?

Управление словами каждым ползуном в Микшере громкости в современных ОС, моложе XP. Управление окном UAC - вызов и т.п.
У меня 10-ка при завершении работы часто ругается, что nnCron не дает ей выключиться. На 7-ке такого не было.

Добавлено:
Аналог слова FILE-EXIST:, который проверяет наличие папки, а не файла.
Автор: Skif_off
Дата сообщения: 28.12.2015 19:45
Darth_Max

Цитата:
Аналог слова FILE-EXIST:, который проверяет наличие папки, а не файла.

Отвечал на предыдущей странице, чтобы не ответили и на следующей, процитирую справку:

Цитата:
FILE-EXIST: "file_pattern"

Возвращает флаг TRUE (-1), если указанный файл или каталог существует.


Добавлено:
+IS-DIR?, если нужно различить файл и каталог.
Автор: sundraw
Дата сообщения: 02.02.2016 11:00
Столкнулся с проблемкой. Есть скрипт

Код:
NoLog
Time: 20 * * * * *
Action:
WIN-EXIST: "*Program*"
IF
WIN-HWND VISIBLE? NOT
IF
StartIn: "C:\WINDOWS"
SWHide NormalPriority
START-APP: C:\WINDOWS\Go.bat
THEN
THEN
Автор: VoidVolker
Дата сообщения: 09.02.2016 09:16
Релиз nnCron beta 14
http://www.nncron.ru/download/nncron193b14.exe
Исправлена внутренняя ошибка, когда перезаписывался код последнего определенного слова перед установкой переменных окружения (наследие 16-битного СПФ).


Цитата:
Суть в следующем. Загружается программа Program. Если всё нормально, то открывается её окно "*Program*". Но бывают ситуации, когда программа зависает в стадии загрузки, окна с названиями отсутствуют. В этом случае её необходимо перезагрузить батником Go.bat. Но батник не запускается, так как не выполняется условие WIN-EXIST: "*Program*" из-за отсутствия этого самого окна. Какое условие ещё можно подобрать, кроме WIN-EXIST? А лучше, если бы батник реагировал на отсутствие в трее значка программы.


Код: WIN-EXIST: "*Program*"
IF
WIN-HWND VISIBLE? NOT
IF
StartIn: "C:\WINDOWS"
SWHide NormalPriority
START-APP: C:\WINDOWS\Go.bat
THEN
ELSE
PROC-EXIST: "Program.exe"
IF
KILL: "Program.exe"
THEN
THEN
Автор: sundraw
Дата сообщения: 09.02.2016 10:01
VoidVolker

Цитата:
Код:
WIN-EXIST: "*Program*"
IF
WIN-HWND VISIBLE? NOT
IF
StartIn: "C:\WINDOWS"
SWHide NormalPriority
START-APP: C:\WINDOWS\Go.bat
THEN
ELSE
PROC-EXIST: "Program.exe"
IF
KILL: "Program.exe"
THEN
THEN


То что нужно, работает. Спасибо.
Автор: VoidVolker
Дата сообщения: 15.02.2016 17:39
Релиз nnCron beta 15
http://www.nncron.ru/download/nncron193b15.exe
http://www.nncron.ru/forums/viewtopic.php?f=5&t=13327

Исправлен баг с поиском в строках длиной более 65535 байт.
Автор: brRamires
Дата сообщения: 24.02.2016 10:10

Цитата:
Предложения, идеи, багерпорты, плагины - приветствуются

Добавить для задач опции NoRunMenuEntry, NoEditMenuEntry, NoMenuEntry, чтобы в соотв. пунктах меню трей-иконки не маячили лишние пункты (NoMenuEntry - для обоих подменю).
Добавить для tm.exe в список "Время->По событию->При" пункт Пробуждение (WatchResume), а в список "Действие" - пункты Сон (POWER-SUSPEND), Гибернация (POWER-HIBERNATE). Можно, конечно, ещё чего-нибудь добавить.

Кстати, в справке нашёл ошибку. Во-первых, tm.exe предлагает для события "Вставка компакт-диска" (хотя сегодня актуальней флешки) WatchDriveInsert (=WatchDrive), чего в справке нет. Там же, в задаче-примере test_watchdriveremove http://www.nncron.ru/help/RU/commands/watch.htm#WatchDriveInsert, написано WatchDriveRemve: "E".
Автор: VoidVolker
Дата сообщения: 24.02.2016 12:01

Цитата:
Добавить для задач опции NoRunMenuEntry, NoEditMenuEntry, NoMenuEntry, чтобы в соотв. пунктах меню трей-иконки не маячили лишние пункты (NoMenuEntry - для обоих подменю).

http://www.nncron.ru/help/RU/add_info/tips_n_tricks.htm#classic_task
А еще есть плагин, позволяющий легко генерировать собственные меню: http://www.nncron.ru/forums/viewtopic.php?f=23&t=9555#p35123


Цитата:
Кстати, в справке нашёл ошибку. Во-первых, tm.exe предлагает для события "Вставка компакт-диска" (хотя сегодня актуальней флешки) WatchDriveInsert (=WatchDrive), чего в справке нет. Там же, в задаче-примере test_watchdriveremove http://www.nncron.ru/help/RU/commands/watch.htm#WatchDriveInsert, написано WatchDriveRemve: "E".

Спасибо за багрепорт.
Автор: brRamires
Дата сообщения: 24.02.2016 23:21
VoidVolker
Про плагин знаю, а про classic task просмотрел.

Цитата:
Спасибо за багрепорт.

Пожалуйста. Ещё здесь http://www.nncron.ru/help/EN/working/cron-format.htm в самом низу
\ (this has the sane effect as "Time: START-TIME"). И там же, ещё ниже можно добавить пробел в \it will be, чтобы не бросалось в глаза.

Добавлено
Почему от этой задачи ннКрон падает? (В реальной задаче, конечно, не калькулятор, но суть та же.)

Код: #( test_automation
    WatchHotKey: {F1}
    Action:
        START-APP: "calc.exe"
        10 0 DO
            PAUSE: 500

            WIN-EXIST: "Калькулятор"
            IF
                WIN-HIDE: "Калькулятор"
                SEND-KEYS-DELAY: 100 0
                WIN-SEND-KEYS: "Калькулятор" "@"
                WIN-SEND-KEYS: "Калькулятор" "{RIGHT}{RIGHT}{DOWN}{DOWN}{ENTER}"

                10 0 DO
                    PAUSE: 500
                    FOR-WINDOWS: "Калькулятор: сведения"
                        1 BalloonIcon !
                        BALLOON: "Планировщик" "Сведения были открыты"
                        KILL: "calc.exe"
                        UNLOOP EXIT \ если LEAVE EXIT - тоже самое
                    ;FOR-WINDOWS
                LOOP

                KILL: "calc.exe"
                1 BalloonIcon !
                BALLOON: "Планировщик" "Не удалось открыть сведения"
                UNLOOP EXIT
            THEN
        LOOP

        2 BalloonIcon !
        BALLOON: "Планировщик" "Не удалось запустить Калькулятор"
)#
Автор: VoidVolker
Дата сообщения: 26.02.2016 00:57
LEAVE - просто заканчивает цикл и продолжает выполнение кода после LOOP. Если надо выйти из цикла и не выполнять код после LOOP - то UNLOOP EXIT.

В данном случае сложность в том, что код в циклах FOR-* - по факту находится внутри безымянного слова. И выход из внешнего цикла оттуда невозможен. Если решение о выходе принимается внутри цикла FOR-* - то надо это решение передавать через переменную с флагом. Т.е., внутри FOR-* сохраняем результат в переменную и проверяем её за пределеми данного цикла.

Код: #( test_automation
WatchHotKey: {F1}
VARIABLE flag
Action:
START-APP: "calc.exe"
10 0 DO
PAUSE: 500

WIN-EXIST: "Калькулятор"
IF
WIN-HIDE: "Калькулятор"
SEND-KEYS-DELAY: 100 0
WIN-SEND-KEYS: "Калькулятор" "@"
WIN-SEND-KEYS: "Калькулятор" "{RIGHT}{RIGHT}{DOWN}{DOWN}{ENTER}"

10 0 DO
PAUSE: 500
flag ON
FOR-WINDOWS: "Калькулятор: сведения"
flag @ IF
1 BalloonIcon !
BALLOON: "Планировщик" "Сведения были открыты"
KILL: "calc.exe"
flag OFF
THEN
;FOR-WINDOWS
UNLOOP UNLOOP EXIT
LOOP

KILL: "calc.exe"
1 BalloonIcon !
BALLOON: "Планировщик" "Не удалось открыть сведения"
UNLOOP EXIT
THEN
LOOP

2 BalloonIcon !
BALLOON: "Планировщик" "Не удалось запустить Калькулятор"
)#
Автор: brRamires
Дата сообщения: 26.02.2016 18:50
VoidVolker
Идея понятна, но в вашем примере логическая ошибка: если ожидаемое окно не появится (например, FOR-WINDOWS: "Калькулятор: сведения22222"), то сообщение "Не удалось открыть сведения" тоже не быдет выведено. Переделал так:

Код: flag OFF
10 0 DO
    PAUSE: 500
    FOR-WINDOWS: "Калькулятор: сведения"
        1 BalloonIcon !
        BALLOON: "Планировщик" "Сведения были открыты"
        KILL: "calc.exe"
        flag ON
    ;FOR-WINDOWS
    flag @ IF
        UNLOOP UNLOOP EXIT
    THEN
LOOP
Автор: VoidVolker
Дата сообщения: 26.02.2016 19:17

Цитата:
Идея понятна, но в вашем примере логическая ошибка

Вот пример-то как раз не мой Я лишь исправил явную ошибку.

Цитата:
UNLOOP UNLOOP EXIT

Это выход из двух вложенных циклов и из задачи. Если нужно просто досрочно окончить текущий цикл - то просто LEAVE.

Цитата:
С ABORT не получилось, но если в моём первом примере заменить строку "UNLOOP EXIT  \ если LEAVE EXIT - тоже самое" на QUIT, то вроде бы работает как надо. Это правильный код?

А какова задача-то? Надо окончить задачу в середине цикла? Или надо просто остановить цикл?
Автор: brRamires
Дата сообщения: 26.02.2016 19:47

Цитата:
Надо окончить задачу в середине цикла?

Да. То, что стек не очищается, как я понял, не имеет значения.
Автор: VoidVolker
Дата сообщения: 26.02.2016 20:23

Цитата:
Да.

Тогда, да, в данной задаче надо использовать UNLOOP UNLOOP EXIT (первые два слова уберут временные данные со стека возврата и позволят третьему слову выйти из задачи и закончить её).

Цитата:
То, что стек не очищается, как я понял, не имеет значения.

Имеет значение. Если на стеке что-то остается - перед выходом из цикла/задачи надо удалить.
Автор: brRamires
Дата сообщения: 27.02.2016 10:23

Цитата:
Если на стеке что-то остается - перед выходом из цикла/задачи надо удалить.

Понятно, тогда буду использовать вариант с "UNLOOP UNLOOP EXIT", спасибо.
Автор: VoidVolker
Дата сообщения: 27.02.2016 20:11

Цитата:
Понятно, тогда буду использовать вариант с "UNLOOP UNLOOP EXIT", спасибо.

Вообще-то, данные слова к стеку и его очистке отношения не имеют и не меняют его состояния.
Автор: VSHY
Дата сообщения: 28.02.2016 00:18
Ссылка в шапке "Cтатья Валерия Кондакова про возможности nnCron" не работает. В инете данную статью не нашёл.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354

Предыдущая тема: Autodesk AutoCAD


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.