È possibile eseguire alcune attività lunghe in IPython Notebook, chiudere il browser e dopo un po 'di tempo aprirlo nuovamente e rivelare i risultati di queste attività?Esegui alcune attività in IPython Notebook in modalità distaccata
Say, compito in questo modo:
def f():
import time
time.sleep(100)
with open("result.txt", "w") as fh:
fh.write("Done.")
Se corro compito normalmente, e vicino il browser prima del completamento, come ho aperto di nuovo, non vedo 'result.txt'
.
Se lo eseguo utilizzando %px
esecuzione magica o parallela, di nuovo nessun risultato se chiudo il browser prima del completamento.
Eventuali estensioni o hack disponibili? O mi sta sfuggendo qualcosa?
UPDATE 1:
Sebbene non vi sia background jobs control support in IPython, processi in background diventare stantio dopo stacco browser. L'unica cosa che ho potuto venire in mente è l'emissione di %connect_info
prima del browser di chiudere, e quindi collegare dal terminal schermo utilizzando
ipython console --existing <ID>.json
e gestito i miei lavori da lì.
UPDATE 2:
Ancora più utile hack è combinazione di ipython console
e controllo del lavoro. Cioè Apro la console e mi collego alla stessa sessione mentre avvio il lavoro in background nel browser e quindi sono libero di chiuderlo fino al completamento del lavoro.
UPDATE 3:
sembra funzionare a partire dalla versione ipython 1.0dev senza hack. basta eseguire ciò che vuoi, chiudere il browser e funziona ancora.
Stephan, forse non ero chiaro, ma sto chiedendo di notebook iPython - che è una console basata su browser. E non ho trovato alcun modo di utilizzare i browser basati su console per accedere a iPython da sotto lo schermo. – Anaderi
Il mio male. Non è un indizio allora. – Stephan