1
我正在尋找從python腳本獲取輸出到我的django web服務器。
我會在我的腳本中使用pySmartDL,所以即使當Django關閉時,我也需要它運行,並且django在啓動時需要從正在運行的腳本中獲取數據。從python腳本獲取輸出到django
pySmartDL爲例腳本:
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()
正如你可以在這裏看到的腳本將打印輸出幾倍的同時,文件與此下載:
time.sleep(0.2)
,所以我需要得到動態輸出。
我發現了一些與websocket(使用redis和django-channels或django-redis)和nodeJS的答案,但我找不到將腳本輸出發送到redis服務器以及如何從django獲取它們的代碼示例。我對nodeJS瞭解不多。
謝謝你的時間!
所以我並不需要Django的Redis的Django的看法? – HolyFredy
我不明白它是如何有用的。這是一個替代memcache AFAIK – e4c5
好的,謝謝你的回答 – HolyFredy