【问题标题】:Getting Aria2 (aria2c) to resume download of files added via RPC让 Aria2 (aria2c) 恢复下载通过 RPC 添加的文件
【发布时间】:2013-07-11 21:46:41
【问题描述】:

我目前正在以守护程序模式运行 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.

我用来启动 aria 的命令:

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

【问题讨论】:

    标签: python python-2.7 xml-rpc aria2


    【解决方案1】:

    我正在使用下面的配置文件,其中 aria 作为守护进程运行,它工作正常:

    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 保存会话

    【讨论】:

    • 我今天早些时候尝试过,但仍然无法正常工作。即使我通过 rpc 关闭事件关闭 aria,即优雅地关闭。仍然没有任何内容保存到会话文件中。但是,当我再次启动它时重新添加相同的 URI 会导致它从停止的地方恢复。猜猜它会选择下载的控制文件并使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    相关资源
    最近更新 更多