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