问:假设用 python 写了个端口扫描功能,基于 web 界面,端口扫描需要耗费一定时间,
怎么做才能实现用户输入指定 IP 提交任务,然后可以随意切换页面,后台进行扫描功能,
过一段时间后再切到结果页面直接查看扫描结果,扫描功能是直接写在 web 代码还是要另起一个独立脚本?
问:假设用 python 写了个端口扫描功能,基于 web 界面,端口扫描需要耗费一定时间,
怎么做才能实现用户输入指定 IP 提交任务,然后可以随意切换页面,后台进行扫描功能,
过一段时间后再切到结果页面直接查看扫描结果,扫描功能是直接写在 web 代码还是要另起一个独立脚本?
|
YourdayeFeb 21, 2017
1
正文太长,下一题
|
|
qsnow6Feb 21, 2017
2
webui 和扫描脚本都单独用一个进程
|
|
holajamcFeb 21, 2017
3
|
|
gamexgFeb 21, 2017
4
另起一个独立脚本。
>过一段时间后再切到结果页面直接查看扫描结果 新任务生成一个 id , session 记录这个 id ,然后访问结果页面时根据 id 查询,放 sql 还是 kv 就随意了。 |
|
yangtukun1412Feb 21, 2017
5
|
|
JasperYankyFeb 21, 2017
6
Celery
|
|
zhchbinFeb 21, 2017
7
|
|
xrlinFeb 21, 2017
8
这种情况一般用任务队列。
|
|
SP00FFeb 21, 2017
9
#6 漏正解, Celery 异步处理。
|
|
10
简单一点,后台另起脚本运行任务,最后的结果输出到一个结果页面,那样就随便切换了
|
|
KilerdFeb 21, 2017
11
任务队列
|
|
anshengFeb 21, 2017
12
Celery 异步调用。
|
|
SlipStupigFeb 22, 2017
13
一点不影响啊,一个任务对应一个线程,把一个任务对应一个任务 ID ,线程把进度保持到数据库里面就行( mysql sqlite mongodb redis 等等都可以),前端读数据库就可以了,一点也不复杂
|