Come progettare un'applicazione di monitoraggio del tempo o di monitoraggio delle attività? [chiuso]

7

Sto cercando di creare qualcosa come Manic Time - che è un'applicazione che tiene traccia di ciò che l'utente sta attualmente lavorando. Ha funzionato perfettamente su Windows, ma non supporta Linux.

Ha caratteristiche pazze, ma il core è fondamentalmente solo il monitoraggio di ciò che è la finestra corrente 'attiva', è processo, titolo della finestra ecc.

Ho pensato a questo problema per un po 'di tempo ed ecco lo pseudo-codice Pythonic che ho scoperto, ma non sono sicuro che questa sia la strada da percorrere.

# The script will probably run as a daemon
while True:

    # Get process, window title, etc.
    wnd_details = get_active_window_details()

    # Save the current timestamp and the details to a database (SQLite)
    insert_in_db(current_timestamp, wnd_details)

    # Wait for a second
    sleep(1000)

L'esecuzione di una query di scrittura al secondo influirà sulle prestazioni?

Un'ottimizzazione potrebbe essere quella di ricordare quali erano i dettagli della finestra precedente e scrivere sul database solo quando la finestra cambia (l'utente è passato a un'altra applicazione) ma ciò aggiungerà complessità non necessaria al codice.

Ancora un'altra cosa da esaminare potrebbe essere una sorta di hook o callback, quindi il mio codice Python viene chiamato ogni volta che si verifica una modifica di Window (come una nuova finestra viene creata o la finestra attiva è cambiata) Immagino che Windows abbia qualcosa di simile a questo , ma non ho idea di Linux.

    
posta dufferZafar 25.06.2015 - 12:41
fonte

1 risposta

1

Ho trovato un'applicazione open source che sembra fare ESATTAMENTE ciò che volevo. link

    
risposta data 03.09.2015 - 18:02
fonte

Leggi altre domande sui tag