Sto provando a scrivere del codice per pianificare un insieme di attività della vita reale che vengono inserite dall'utente. Queste attività sono memorizzate in un database SQLite. E al momento, gli unici parametri che sto prendendo in considerazione sono,
The project to which a task belongs to --> p
The name of the task itself --> t
And the due date for this task --> d
I parametri project
e due date
sono facoltativi. Ma partendo dal presupposto che l'utente immetterà sempre almeno task name
e due date
per ogni attività. Mi chiedevo se è possibile pianificare l'insieme di attività utilizzando uno schedulatore come Completamente Fair Scheduler (CFS) . Mi rendo conto che il CFS è stato scritto per pianificare compiti con granularità molto più fine (nanosecondi) rispetto all'insieme di compiti proposti per questo scopo ... Ma ho capito che potrebbe essere possibile e forse più efficiente se posso modificarlo per lavorare con compiti che sono sulla stessa scala temporale della nostra percezione del tempo.
Una voce tipica nel database dovrebbe essere nel formato (p, t, d). 'p' è facoltativo. Ecco alcuni esempi:
(_, '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)
Ecco una situazione da considerare. Mi piacerebbe svegliarmi al mattino. Esegui questo algoritmo "ancora da codificare" sull'insieme di compiti .. come quelli sopra indicati .. e vorrei ricevere un programma per il resto del giorno, che massimizzi il rendimento. In una fase successiva, vorrei passare argomenti a questi algoritmi che mi consentiranno di controllare lo scheduler per restituire una serie di attività a seconda della mia situazione attuale. Come se fossi al lavoro, voglio essere in grado di passare argomenti all'algoritmo, per chiedergli di restituire solo le attività che possono essere completate al lavoro ..
Spero di essere in grado di trasmettere il succo di ciò. Comprendo che il due date
da solo non è sufficiente per pianificare attività che utilizzano CFS, ad esempio ... ma se ci sono altri parametri che dovrei prendere in considerazione, per favore fatemelo sapere. E qualsiasi suggerimento per il tipo di algoritmo di pianificazione da utilizzare sarebbe utile.