2013-07-11 73 views
1

我目前在守護進程模式下運行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 

回答

1

我使用與運行的後臺程序詠歎調下面的conf文件,它工作正常:

dir=/media/ExternalHd/aria 
file-allocation=falloc 
continue 
log-level=error 
max-connection-per-server=4 
summary-interval=120 
daemon=true 
enable-rpc=true 
rpc-listen-port=6800 
rpc-listen-all=true 
max-concurrent-downloads=2 
save-session=/home/pi/Desktop/aria.txt 
input-file=/home/pi/Desktop/aria.txt 
log=/home/pi/Desktop/aria.log 
disable-ipv6=true 
disk-cache=25M 
timeout=600 
retry-wait=30 
max-tries=50 
save-session-interval=10 

嘗試使用上面的配置,並作爲後臺程序運行aria2c,您還可以使用各種方法從臺式機和移動設備訪問aria2c RPC接口as detailed here。我正在使用移動應用程序和網絡界面,它節省了與aria2c v會話1.16.5

+0

我今天早些時候嘗試過,我仍然無法得到它的工作。即使我通過rpc關機事件(即優雅地)關閉了aria。仍然沒有保存到會話文件。但是,當我再次啓動它時,重新添加相同的URI會導致它從停止的地方恢復。猜猜它在控制文件中下載並使用它。 –