А как лучше всего "бороться" с тем, чтобы некоторые задачи не запускались одновременно? Если бы все проги относились к оперативке и ресурсам компа как nnCron и nnbackup... :-) , но это к сожалению не так, и есть задачи в кронтабах, при выполнении которых загрузка проца под 100% и практически невозможно чем-либо другим заняться

. Тот же rar к примеру, пакует-обновляет у меня каждый день кучу файлов ~ в 300 Mb архив и пофиг ему какой у него приоритет и что он в фоновом режиме - грузит комп по полной схеме, особенно заметно, если машина не самая сильная. А таких задач, с запуском ресурсоемких приложений, у меня многовато и никак низзя, чтобы они одновременно запускались. Но если в опциях запуска стоит RunMissed (а оно обычно так и есть) и комп не запускал пару-тройку дней, то при старте системы nnCron ессно бросается выполнять все просроченные задачи сразу, что на быстродействии системы отражается не самым лучшим образом, а если комп - совсем смешной целерончик с 64 Mb ОЗУ и таким же смешным процем, есть у меня один такой, пишущая машинка, блин... :-) Каждый раз Rule: настраивать надоело, варьировать, что бы не было "этого" процесса, был "тот", да GetTickCount был таким то... В общем я пока в каждую ресурсоемкую задачу прописал в Rule не запускаться, если существует флаг-файл C:\active.flg и в начале запуска таких задач nnCron выбрасывает такой флаг-файлик, а по завершении задачи удаляет его, типа:
#( task_1
RunMissed
OnceAWeek
Time: * * * * 1 *
Rule: FILE-EXIST: "C:\active.flg" NOT
Action:
FILE-WRITE: "C:\active.flg" "%CUR-TASK-NAME%"
1000 PAUSE
\ тут делаем работу
START-APPW: "proga1.exe"
START-APPW: "proga2.exe"
\ и т.д.
\ по завершении работы удаляем флаг-файл
1000 PAUSE
FILE-DELETE: "C:\active.flg"
)#
#( task_2
RunMissed
OnceAWeek
Time: * * * * 1 *
Rule: FILE-EXIST: "C:\active.flg" NOT
Action:
FILE-WRITE: "C:\active.flg" "%CUR-TASK-NAME%"
1000 PAUSE
\ тут делаем работу
START-APPW: "proga3.exe"
START-APPW: "proga4.exe"
\ и т.д.
\ по завершении работы удаляем флаг-файл
1000 PAUSE
FILE-DELETE: "C:\active.flg"
)#
В общем task_1 и task_2 запустятся, только если нет флаг-файла C:\active.flg и сами же его и выбрасывают на время своей работы. Может есть более элегантное решение какое-нить? Например сложить все ресурсоемкие задачи в один кронтаб и если одна задача из этого кронтаба выполняется, то остальные ждут в сторонке? Только я не знаю, как это реализовать правда... Список всех задач из кронтаба в текстовой файл в столбик я знаю, как получить (vbscript написал такой, на Форте не знаю как делается), nnCron рядом может положить текстовой файл с именем выполняемой задачи
(FILE-WRITE: "current_task.txt" "%CUR-TASK-NAME%")
и как-нить сравнить их, что-ли? С Фортом не очень у меня честно говоря получается подружиться... Или от добра добро не ищут, так и продолжать выкидывать флаг-файл?