Рубрика «планировщик задач»
О том, как я приручил Wi‑Fi с помощью PowerShell и чуть‑чуть ИИ
2025-08-18 в 14:15, admin, рубрики: powershell, wi-fi, windows, автоматизация, восстановление сети, мониторинг сети, планировщик задач, Сетевые технологии, системное администрирование, скриптыЗадача
Дома и в командировках меня раздражали внезапные «тихие» обрывы Wi‑Fi. Хотелось, чтобы система сама возвращала подключение, но не спорила со мной, если я сознательно нажал «Отключить Wi‑Fi». И чтобы всё было прозрачно: логи, автозапуск, минимум магии.
Ограничения
-
Windows 10/11 и PowerShell 5.1+ — без сторонних демонов.
-
Никаких паролей в логах и странных автологинов.
-
Автоматика не должна мешать: ручное отключение — табу.
Архитектура
-
WifiMonitor.ps1 — наблюдение за стабильностью (ping, события), диагностика, логи.
Сказ о том, как три разработчика сделали работу за шестерых и в два раза быстрее
2025-05-04 в 8:35, admin, рубрики: анализ процессов, планировщик задач, разработкаРегулярно всвоей практике и практике коллег встречаю доказательства тому утверждению, что большее сокращение затрат на процессы (в том числе и разработки) можно решить организационными изменениями.
«Нужный человек не в том месте может перевернуть мир» ©G‑Man/Half‑life
Никакие технические решения не дадут того же эффекта. В принципе, чаще они даже не срабатывают, так как нет привычки работать «правильно» у самих сотрудников. Все попытки автоматизировать хаос приводят только к интенсификации этого хаоса.
Мы ускорили планировщик Tokio в десять раз
2019-10-20 в 13:59, admin, рубрики: crossbeam, Hyper, loom, mpmc, Rust, TechEmpower, Tonic, Алгоритмы, высокая производительность, двусторонняя очередь, захват работы, комбинаторный взрыв, пермутационное тестирование, планировщик задач, Программирование, система задач, Тестирование IT-систем, шедулерМы в поте лица готовим очередную мажорную версию Tokio, асинхронной среды выполнения для Rust. 13 октября для слияния в ветку оформлен пул-реквест с полностью переписанным планировщиком задач. Результатом станет огромное улучшение производительности и уменьшение задержки. В некоторых тестах зафиксировано десятикратное ускорение! Как обычно, синтетические тесты не отражают фактическую выгоду в реальности. Поэтому мы также проверили, как изменения в планировщике повлияли на настоящие задачи, такие как Hyper и Tonic (спойлер: результат замечательный).
Готовясь к работе над новым планировщиком, я потратил время на поиск тематических ресурсов. Кроме фактических реализаций, особо ничего не нашлось. Я также обнаружил, что в исходниках существующих реализаций трудно ориентироваться. Чтобы исправить это, мы постарались написать шедулер Tokio как можно более чисто. Надеюсь, эта подробная статья о реализации планировщика поможет тем, кто находится в том же положении и безуспешно ищет информацию на эту тему.
Статья начинается с высокоуровневого обзора дизайна, в том числе политик захвата работы. Затем погрузимся в детали конкретных оптимизаций в новом планировщике Tokio.
Читать полностью »
От шедулера к планировщику
2016-04-22 в 10:06, admin, рубрики: многозадачность, планировщик, планировщик задач, программирование микроконтроллеров, системное программирование, шедулер, метки: шедулерСм. две другие статьи этой группы — Делаем многозадачность и Преемптивность: как отнять процессор.
Сразу просьба к строгим читателям. Если вы не поняли какой-либо термин из применённых — спросите, я подскажу, что я имел в виду. А если вам нравится другое написание или перевод этого термина — укажите его в комментарии. Я применяю те, которые нравятся мне.
Итак, в прошлых статьях описан механизм реализации многозадачности за вычетом планировщика, он же шедулер, он же скедулер, он же Васька меченый, сорри, заговариваюсь я с этими терминами…
Как я уже говорил, шедулер — это просто функция, которая отвечает на вопрос: какую нить и на сколько времени поставить на процессор.
Кстати, в SMP системе шедулер ничем не отличается от однопроцессорного. Вообще, чтобы проще понимать структуру взаимодействия сущностей на одном и нескольких процессорах, проще всего представить себе следующую модель: для каждого процессора есть нить «простоя» (которая работает, если вообще больше некому и просто останавливае процессор до прерывания), которая постоянно пытается «отдать» процессор (которым она как бы владеет) другим нитям, выбирая нить с помощью шедулера.
Говоря о шедулере нельзя не сказать о приоритетах.
Приоритет — свойство нити (или процесса) влияющее на конкуренцию этой нити с другими нитями за процессор.
Приоритет обычно описывается парой <класс приоритета, значение приоритета внутри класса>.
Читать полностью »
Hangfire — планировщик задач для .NET
2016-04-06 в 9:08, admin, рубрики: .net, C#, hangfire, quartz.net, планировщик задач, метки: hangfire, quartz.net, планировщик задач 
Изображение с hangfire.io
Hangfire — многопоточный и масштабируемый планировщик задач, построенный по клиент-серверной архитектуре на стеке технологий .NET (в первую очередь Task Parallel Library и Reflection), с промежуточным хранением задач в БД. Полностью функционален в бесплатной (LGPL v3) версии с открытым исходным кодом. В статье рассказывается, как пользоваться Hangfire.
План статьи:
Выбираем персональный планировщик задач
2016-03-31 в 7:17, admin, рубрики: gtd, планирование времени, планировщик задач, таск-менеджер В последнее время темп жизни настолько увеличился, что удержать все в голове практически невозможно. Помните то гнетущее чувство, когда вы забыли о чем-то важном? Специально для «торопыг» приведена ёмкая подборка планировщиков задач. Оказалось, что идеального, который удовлетворит всех, не нашлось. Зато можно выбрать подходящий по душе.
Читать полностью »

