我目前在守护进程模式下运行aria2,以便通过xml-rpc命令控制它。通过xml-rpc添加文件工作正常。我试图解决的问题是,如果aria2突然停止而不是优雅地停止,那么如何让aria2恢复“会话”。
我正在使用手册here中描述的“save-session-interval”设置,以便尝试让aria以一定间隔保存到会话文件中。如果我通过ctrl-c中断中断aria,它会优先将待处理的下载保存到会话文件中。之后如果我通过相同的命令重新启动aria,它会正确恢复下载。
每隔20秒aria2写入控制台说它已经序列化了会话。 Notepad ++甚至检测到文件已被更改,但文件仍为空。
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之后清空会话文件(允许它将挂起的下载写入会话文件)。然后它通过下载覆盖会话文件。这种行为让我相信aria不会将通过xml-rpc添加的下载保存到“会话”列表中以保存到会话文件中。
我也尝试将“save-session-interval”添加到初始命令而不是conf文件,但行为是相同的。
Aria版本详细信息:
aria2 version 1.17.1
答案 0 :(得分:1)
我正在使用下面的conf文件,其中aria作为deamon运行,它运行正常:
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作为deamon,您还可以使用各种方法从桌面和移动设备访问aria2c RPC接口as detailed here。我正在使用移动应用程序和Web界面,它使用aria2c v 1.16.5
保存会话