NnCron планировчик на стероиди
Ексклузивни ИТ новини, рецензии и интервюта
nnCron: стероид-базиран планировчик. Част 1
Темата за автоматизиране на ежедневните ни дейности на компютър става все по-актуална с течение на времето. Колкото повече часове и дни прекарваме с нашия верен асистент, толкова повече рутина се разкрива в това и без това светско взаимодействие. Но компютърът е машина за това, за да поеме най-рутинната и глупава работа, оставяйки само творчески задачи за човек. За да приложите този подход, разбира се, можете да се научите да бъдете програмист, но струва ли си?
Предлагаме да използваме готов инструмент, достъпен за потребители от всякакво ниво на умения - истински хибрид на планировчик, универсален автоматизатор и скриптор - nnCron. Работейки с него, известният афоризъм някак неволно ми идва на ум: „Скоро технологията ще достигне такова съвършенство, че човек може да се справи без себе си“.
Бих искал да започна прегледа на днешната програма, избягвайки традиционното теоретично въведение, обикновено водещо читателя логично към необходимостта от конкретна програма и обосновката на нейната концепция. Случи се така, че днес нашата теория ще бъде напълно смесена с практика като винегрет, следователно, без да губим ценно време, незабавно пристъпваме към практическо запознаване с програмата и нейната концепция.
Мисля, че много потребители са чували за най-мощния инструмент за планиране в семейството на операционните системи от семейството Unix (поради популярността си това се отнася преди всичко за Linux) - cron. Cron е много мощна и гъвкава форма за записване на определени интервали от време, последователности, закономерности от дати, която е необходима, за да се обясни на планиращия как и кога да се изпълняват програми, скриптове и да се извършват някои действия с компютъра. С други думи, cron е изненадващо гъвкав микроезик заради своята компактност, което е един вид де факто стандарт в света на Unix. За съжаление, досега не беше възможно да се излезе с някаква по-мощна и същевременно проста система за записване на правилата и честотата на стартиращите процеси, отколкото беше направена в cron (поне такава система не ми е известна ).
Имаше много и много опити за пренасяне на тази супер успешна система към платформата на Windows и ако хвърлите мрежите си в Интернет, вероятно ще можете да извадите добър списък с такива програми от там, но всички те имат следното сериозно дефект. Световният cron дойде от царството на командния ред и черните екрани: работното пространство на конзолата. В рамките на Windows, като правило, имаме работа с прозоречен интерфейс и затова често не е достатъчно успешно да се опише определена честота на стартиране на самата задача, необходими са допълнителни инструменти, които по някакъв начин взаимодействат и манипулират именно с тези прозорци -програми.

Прост пример за илюстриране на сериозността на проблема. Приемането на поща в конзолата на Linux се свежда до банално стартиране на някой от същия клиент на конзола в даден момент с дадените ключове, макар и като се вземат предвид някои трудни условия, внимателно описани в cron. В Windows ще трябва не само да стартирате вашата пощенска програма, но и да инициализирате по някакъв начин нейната процедура за свързване към интернет или започване на получаване на поща. Ако в Linux всичко това е лесно с конзолни команди и ключове към съответните помощни програми при стартиране, тогава в Windows най-вероятно ще трябва да взаимодействате по някакъв начин интерактивно с програма, която е с прозорец в природата. Тоест да натиснете някои графични бутони (или да се обадите на горещи клавиши и т.н.), което предполага присъствието на оператор на компютъра, отричащ цялата гъвкавост на всеки мощен планировчик.
И така, крайно време е да се опитаме да подчертаем ключовата причина за успеха на nnCron: ако по-рано, за да решите тези две свързани задачи, трябваше да имате два различни инструмента на един компютър (единият осигурява функции на планиращия апарат, а другият - виртуални бутони и взаимодействия с графичния интерфейс на необходимата програма или прозорци на ОС), сега - всичко е удобно комбинирано под една внимателно обмислена програма. И това, което е много важно - колко удобно беше направено!
Разбира се, опити за комбиниране на тези две свързани области са правени и преди, поради тази очевидна специфичност на Windows, но просто сравнете техните резултати. Например AutoMate, почти сходна по концепция и много известна на Запад, тежи 15 MB, докато по-мощният nnCron - само 740 KB. Тази разлика в размера приблизително адекватно показва разликата в качеството на изпълнението на тези две програми. Можете да дадете още много подобни сравнения с подобен резултат, но не искам да губя ценно време - нека отидем направо към по-близко запознаване с nnCron.
Псков Автоматизатор
"Както знаете, администраторът има много рутинна работа. На първо място, имате нужда от график. Отначало ми се струваше, че системният планировчик на Windows NT ще ми помогне, но бързо открих ограниченията му (набор от време интервалите са просто безполезни). След като потърсих в Интернет, открих няколко програми, които приблизително отговаряха на моите изисквания, но по време на тестването те също показаха различни недостатъци.
Като цяло страдах толкова много, докато не намерих информация за програмата cron от света на UNIX. Идеята за настройка на честотата ми хареса толкова много, че веднага скицирах проста програма, която изпълнява функциите cron. Между другото, аз също изследвах няколко клонирания на cron за Windows и се оказах просто неработоспособен. Ограничението на езика на командния файл (CMD) постоянно ме принуждаваше да бъда усъвършенстван и появата на елементи от скрипта в тази моя програма стана естествено продължение. Написана е на C ++ и разширяването в смисъла на сценария не е било най-лесното нещо, което може да се направи.