Я пытаюсь написать некоторый код для планирования набора реальных задач, которые вводит пользователь.Эти задачи хранятся в базе данных sqlite.И на данный момент единственными параметрами, которые я принимаю во внимание, являются
The project to which a task belongs to --> p
The name of the task itself --> t
And the due date for this task --> d
project
и due date
параметры не являются обязательными.Но предполагая, что пользователь всегда будет вводить по крайней мере task name
и due date
для каждой задачи. Мне было интересно, можно ли запланировать набор задач, используя планировщик, такой как, например, Completely Fair Scheduler (CFS)
!Я понимаю, что CFS был написан для планирования задач с гораздо более тонкой гранулярностью (наносекунды), чем набор задач, предлагаемых для этой цели ... Но я понял, что это может быть возможно и, возможно, более эффективно, если я смогу изменить его для работы сзадачи, которые находятся в том же масштабе времени, что и наше восприятие времени.
Типичная запись в базе данных будет в формате (p, t, d).«р» не является обязательным.Вот несколько примеров ..
(_, 'Call home', 29/2/2012)
(Work, 'Meet boss', 14/3/2012)
(Work, 'Ask for raise', 18/3/2012)
(_, 'Book tickets', 10/3/2012)
(Work, 'Quit', 14/4/2012)
(Personal, 'Get botox injections', 10/3/2012)
(Personal, 'Get breast implants', 10/10/2012)
(_, 'Dad bday', 7/10/2012)
Вот ситуация для рассмотрения.Я хотел бы проснуться утром.Запустите этот алгоритм «еще предстоит закодировать» для набора задач ... как те, что приведены выше ... и я хотел бы получить расписание на оставшуюся часть дня, которое максимизирует пропускную способность.На более позднем этапе я хотел бы передать аргументы этим алгоритмам, которые позволили бы мне управлять планировщиком, чтобы он возвращал набор задач в зависимости от моей текущей ситуации.Например, если я на работе, я хочу иметь возможность передавать аргументы алгоритму, просить его возвращать только те задачи, которые можно выполнить на работе.
Я надеюсь, что смогу передать сутьЭто.Я понимаю, что одного due date
недостаточно для планирования задач с использованием, например, CFS ... но если есть другие параметры, которые я должен учитывать, пожалуйста, дайте мне знать.И любые предложения о том, какой алгоритм планирования использовать, будут полезны.
Спасибо.