In un progetto in cui lavoro Devo coprire un servizio Tornado con Behave, quindi voglio avviare un'istanza del mio servizio tornado prima di eseguire ogni scenario.Come eseguire Tornado IO Loop durante l'installazione dell'ambiente Behave
Ingenuamente il tentativo di eseguire il ciclo come parte prima di tutto sembra bloccare l'excecution:
from tornado import ioloop
from tornadoadapter.applications import APPLICATION
def before_all(context):
print "Service running on port 8000"
APPLICATION.listen(8000)
ioloop.IOLoop.instance().start()
Quindi non è probabilmente quello che mi serve.
Quando provo a fare funzionare questo su Windows, ottengo la seguente eccezione: 'pickle.PicklingError: Non può salamoia:. Non è trovato __ come __main run_server' –
suona come il vostro' La funzione run_server' non è selezionabile. cosa rapida da controllare è se puoi davvero importare 'run_server'? cioè se è una lambda o una funzione interna a 'before_all', non funzionerà. – Xuan
'run_server' è definito proprio come nel tuo esempio di codice; si trova nello stesso file, proprio prima che 'before_all' sia definito. –