Недавно в процессе работы, я столкнулся с задачей управления шедулерами, в работающем приложении. У нас серверное приложение, и в конфигурационных файлах Spring мы указывали, какие задачи запускать по таймеру. Однако, далее появилась следующая задача — убирать из списка выполнения эти задачи, или же менять cron-таймер. При этом не тормозя приложение.
В процессе гугления, чтения, я нашел как это сделать. Всё оказалось гораздо проще, чем я думал. Но чтоб понять — пришлось немного почитать.
Вероятно эта статья будет полезна новичкам, но, возможно, и мастодонты почерпнут для себя что-то новое.
Читать полностью »
Метка «планировщик»
Работа с шедулером в Java
2013-09-10 в 6:59, admin, рубрики: java, spring, планировщик, метки: java, spring, планировщикПростая модель планировщика ОС
2012-10-12 в 15:12, admin, рубрики: Delphi, операционные системы, ОС, планировщик, метки: ОС, планировщикНе так давно пытался найти здесь какую-нибудь информацию о планировщике Windows и к своему удивлению не нашёл ничего конкретного о планировщиках вообще, поэтому решил запостить вот этот пример планировщика, надеюсь кому-то он окажется полезен. Код написан на Turbo Pascal со вставками ассемблера 8086.
Что собственно планирует планировщик?
Планировщик — часть операционной системы, которая отвечает за (псевдо)параллельное выполнения задач, потоков, процессов. Планировщик выделяет потокам процессорное время, память, стек и прочие ресурсы. Планировщик может принудительно забирать управление у потока (например по таймеру или при появлении потока с большим приоритетом), либо просто ожидать пока поток сам явно(вызовом некой системной процедуры) или неявно(по завершении) отдаст управление планировщику.
Первый вариант работы планировщика называется реальным или вытесняющим(preemptive), второй, соответственно, не вытесняющим (non-preemptive).
Читать полностью »
RPG для разработчиков. Два года спустя
2012-04-20 в 8:54, admin, рубрики: Gamification, gtd, human resources, MMO, rpg, Достижения, мотивация, планировщик, разработка, метки: Gamification, gtd, MMO, open source, rpg, Достижения, мотивация, планировщик, разработкаЧуть более двух лет назад я опубликовал статью Другое видение скучных GTD планировщиков через призму RPG игр, в которой описал свою старую идею про совмещение работы над software проектами и элементов RPG игр.
Все вы знаете, что такое GTD. Проекты, таски, майлстоуны и дедлайны. Множество контор и команд разработчиков используют ту или иную систему на базе (или не на базе) GTD для контроля задач в проектах в своей повседневной работе. Я предлагаю заменить основные понятия этой методологии на термины многопользовательских RPG, добавить плюшек, статистику, достижения, красивости и фан. Получим тот же планировщик, но не такой скучный и с дополнительной мотивацией.
Топик тогда собрал 100500 комментов (в основном «супер! хочу!»), а особо заразительные собрались в команды и стали воплощать идею в жизнь. Так что же было сделано за эти два года?
Горутины: всё, что вы хотели знать, но боялись спросить
2012-04-11 в 8:57, admin, рубрики: golang, goroutine, scheduler, планировщик, Программирование, метки: golang, goroutine, scheduler, планировщикВ этой статье я постараюсь кратко и емко рассказать что такое горутины, когда стоит их использовать, какое отношение они имеют к системным потокам, а так же как работает планировщик.
Что за горутины?
Горутина (goroutine) — это функция, выполняющаяся конкурентно с другими горутинами в том же адресном пространстве.
Запустить горутину очень просто:
go normalFunc(args...)
Функция normalFunc(args...)
начнет выполняться асинхронно с вызвавшим ее кодом.
Обратите внимание, горутины очень легковесны. Практически все расходы — это создание стека, который очень невелик, хотя при необходимости может рости.
Сколько вешать в граммах?
Чтобы было проще ориентироваться, рассмотрим цифры полученные опытным путем.
Читать полностью »
Новый сервис от групона — чистим зубы наждаком?
2012-04-09 в 9:54, admin, рубрики: групон, планировщик, стартапы, метки: групон, планировщикРечь идет о новом функционале, недавно запущенном групоном — онлайн планировщике. Сервис представляет собой календарь рабочего графика с возмоностью предварительной записи на сервисы компании.
Споры о том, что было сделано плохо и что хорошо уже идут, но моя цель не в том, чтобы в них поучаствовать. Также не думайте, что в этой статье я хочу облить грязью сервис групона и под шумок продать свой. Просто хотелось еще раз напомнить — какие цели у нас, людей ведущих свой собственный бизнесс? И что нам на самом деле нужно?
Читать полностью »
Алгоритмы / [Из песочницы] Наработки к планированию процессов в ОСРВ
2012-03-04 в 2:56, admin, рубрики: операционные системы, осрв, планировщик, ядро, метки: операционные системы, осрв, планировщик, ядро Закончив изучение Таненбаума и ковыряние ядра Linux решил, что надо заняться чем-то дельным. По личным мотивам решил переделать ядро minix3 под планирование в жёстком реальном времени. Множество существующих алгоритмов планирования ввели меня в уныние, тем более, что хочется сделать ОС максимально универсальной и гибкой. Зацикленность на клиент-серверной модели привели к идеи о вынесении из ядра ОС механизмов планирования и разделение процессов на группы, управляемые: каждая своим планировщиком (в режиме ядра оставить только обработку deadline).
Основная проблема, которая стала очевидной сразу же — это выбор математической модели для построенияЧитать полностью »