Ich bin für die Ausgänge von einem Python-Skript zu meinem Django-Webserver erhalten.
Ich werde pySmartDL in meinem Skript verwenden, also muss ich es auch ausführen, wenn sich django selbst schließt und django beim Start Daten aus einem laufenden Skript benötigt.Ausgabe von Python-Skript zu Django
pySmartDL exemple Skript:
import time
from pySmartDL import SmartDL
url_100mb_file = ['http://ipv4.download.thinkbroadband.com/100MB.zip']
obj = SmartDL(url_100mb_file, progress_bar=False)
obj.start(blocking=False)
while not obj.isFinished():
print("Speed: %s" % obj.get_speed(human=True))
print("Already downloaded: %s" % obj.get_dl_size(human=True))
print("Eta: %s" % obj.get_eta(human=True))
print("Progress: %d%%" % (obj.get_progress()*100))
print("Progress bar: %s" % obj.get_progress_bar())
print("Status: %s" % obj.get_status())
print("\n"*2+"="*50+"\n"*2)
time.sleep(0.2)
if obj.isSuccessful():
print("downloaded file to '%s'" % obj.get_dest())
print("download task took %ss" % obj.get_dl_time(human=True))
print("File hashes:")
print(" * MD5: %s" % obj.get_data_hash('md5'))
print(" * SHA1: %s" % obj.get_data_hash('sha1'))
print(" * SHA256: %s" % obj.get_data_hash('sha256'))
else:
print("There were some errors:")
for e in obj.get_errors():
print(str(e))
# Do something with obj.get_dest()
Wie Sie das Skript mehrmals druckt Ausgabe sehen hier kann, während eine Datei mit diesem ist das Herunterladen:
time.sleep(0.2)
Also muss ich das bekommen dynamisch ausgeben
Ich habe eine Antwort gefunden mit Websocket (mit redis und django-channels oder django-redisis) und nodeJS, aber ich kann kein Codebeispiel finden, um die Skriptausgabe an redis server zu senden und wie man sie von django bekommt. Und ich weiß nicht viel über NodeJS.
Danke für Ihre Zeit!
Also brauche ich nicht django-redis zum Download wissen? – HolyFredy
Ich sehe nicht, wie es nützlich sein könnte. Es ist eine Alternative zu Memcache AFAIK – e4c5
ok, danke für die Antwort – HolyFredy