我目前在守護進程模式下運行aria2,以便通過xml-rpc命令控制它。通過xml-rpc添加文件的效果很好。我試圖解決的問題是如何讓aria2恢復「會話」,如果它突然停止,而不是優雅。讓Aria2(aria2c)恢復通過RPC添加的文件的下載
我使用手冊here中描述的設置「save-session-interval」來嘗試讓aria以一定間隔保存到會話文件。如果我通過ctrl-c中斷中斷了aria,它會正常地將掛起的下載保存到會話文件中。之後,如果我通過相同的命令重新啓動aria,它會正確恢復下載。
每隔20秒aria2向控制檯寫入數據,表明它已經序列化會話。記事本++甚至檢測到文件已被更改,但文件保持空白。
07/11 22:49:54 [NOTICE] Serialized session to 'C:\temp\aria\session.txt' successfully.
我使用開始詠歎調命令:
aria2c.exe --conf-path=C:\temp\aria\aria.conf --daemon
conf文件的內容是:
dir=C:\temp\aria
input-file=C:\temp\aria\session.txt
save-session=C:\temp\aria\session.txt
enable-rpc=true
save-session-interval=20
我使用的XML-RPC命令正在從所謂python像這樣:
import xmlrpclib
fileurl = "http://example.com/sample_file.txt"
s = xmlrpclib.ServerProxy('http://localhost:6800/rpc')
val = s.aria2.addUri([fileurl], {'http-user':'user', 'http-passwd':'pass'})
我試過的另一件事是在優雅地停止aria之後清空會話文件(允許它將掛起的下載寫入會話文件)。然後用下載覆蓋會話文件。這種行爲指向我相信,詠歎調不會保存通過xml-rpc添加到「會話」列表以保存到會話文件的下載。
我也嘗試將「save-session-interval」添加到初始命令而不是conf文件,但行爲是相同的。
詠歎調版本詳情:
aria2 version 1.17.1
我今天早些時候嘗試過,我仍然無法得到它的工作。即使我通過rpc關機事件(即優雅地)關閉了aria。仍然沒有保存到會話文件。但是,當我再次啓動它時,重新添加相同的URI會導致它從停止的地方恢復。猜猜它在控制文件中下載並使用它。 –