跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • web 界面跟一些长时间运行的后台任务怎么结合
未分類
19 2 月 2021

web 界面跟一些长时间运行的后台任务怎么结合

web 界面跟一些长时间运行的后台任务怎么结合

資深大佬 : azev 4

比如 aria2 下载工具的 web 界面
前端设定参数后 怎么启动 aria2 呢? web 后台程序代码开一个 aria2 线程?还是怎么做?

大佬有話說 (7)

  • 資深大佬 : InternetExplorer

    aria2 可以作为服务器端提供接口,看看已经有的几个 webui 怎么做的就知道了

  • 主 資深大佬 : azev

    @InternetExplorer 多谢 如果是更通用些呢 比如运行下 ffmpeg

  • 主 資深大佬 : azev

    @InternetExplorer 或者是 youtube-dl 之类

  • 資深大佬 : jarnanchen

    web 后台调用这些服务就好了
    比如 https://www.npmjs.com/package/youtube-dl

  • 資深大佬 : cpstar

    aria 的 webui 是不能启动 aria 本体的,webui 通过 aria 本体提供的 api 接口与 aria 本体进行数据交互。

    这种 webui 普遍不需要服务器端的运行环境( php 、java 、python 、nodejs 等),只需要一个简单的 http 容器即可。

    但是,如果需要实现启动 aria 本体或者运行 ffmpeg 等其他服务器端的本地程序,那么就需要服务器端不仅是提供 http 容器,还要提供一些运行环境,同时开权限调方法,比如 php 的 exec system 之类的,java 的 Runtime.exec 等。然后浏览器触发写有相应过程的页面,页面同步或者异步方式进行系统调用以启动相应本地程序。

  • 資深大佬 : systemcall

    aria2 这种软件一般是 json rpc 吧,如果配置文件或者命令行有加相应的参数,程序启动后就会打开对应的端口,处理这些请求。把 aria2 这类加到开机启动就可以了,反正启动也要一段时间
    启动别的程序可以写 cgi 或者 PHP 之类的,这个需要 Web 服务器支持,配置正确的话没什么问题
    不清楚你的原始需求。如果是想要下载完成后转码之类的话,我记得这些软件是有下载完成的操作的,可以定义一个命令,有一些变量可以调用,来获取一些信息(文件名这类),具体的需要看对应下载软件的文档

  • 資深大佬 : ch2

    核心思想是把耗时任务抽象出 task 元数据缓存起来,在任务执行的过程中通过任务自带的 callback 或者使用一些系统提供的观察方法更新 task 的状态与进度,web 后台定期查询缓存,并把信息更新到 UI 上,这是耗时任务的通解

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具