Git Product home page Git Product logo

crawlab-lite's People

Contributors

tikazyq avatar zkqiang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

crawlab-lite's Issues

定时任务栏查看任务存在无法查看的bug

Bug 描述
使用docker部署完后,添加爬虫项目,然后在定时任务添加一个任务,
当任务执行结束,在任务栏可以见到任务状态,
但是在定时任务栏点击相应任务的查看任务按钮,看不到相应记录,返回结果为空。

我自己多次安装测试,发现在添加一个定时任务之后,
需要重新启动容器,之后该定时任务所运行的任务才能在定时任务栏里查看到。
每添加新的定时任务,都需要重启容器

此外还有一个小bug,定义完一个定时任务后,点击编辑按钮,再点击编辑cron表达式,读取的时间信息会出现错位,比如“0 0 15 * * *”在点击编辑按钮之后,如果什么都不改就保存,cron表达式最后会变成“0 0 0 15 * *”

快速开始部署的项目,无法登录。

Bug 描述
image

复现步骤
该 Bug 复现步骤如下

  1. 创建docker-compose.yml文件
  2. 粘贴README里快速启动的docker配置内容
  3. 配置文件内容
version: '3'
services:
  master:
    image: zkqiang/crawlab-lite:latest
    container_name: master
    ports:
      - "8081:8080"
    volumes:
      - "./data:/app/data"  # persistent volume

4.宝塔&腾讯云端口均已经放通
5.使用的是ip+端口的方式访问

期望结果
我想登录进去看看功能

截屏
image
image

【BUG】通过 config.yml 配置文件自定义密码无效

额,好吧,好像看到了这个 #5

建议完善下 crawlab-lite 的相关文档

Bug 描述
Version: 0.0.2
例如,当 使用 docker 部署 时,通过 config.yml 配置文件自定义密码 功能不工作。

复现步骤
该 Bug 复现步骤如下

  1. 将 /app/backen/config.yml 配置文件映射出来,并自定义好密码
  2. docker run 或 docker-compose up -d 运行 crawlab-lite
  3. 打开 crawlab-lite web,尝试用自定义密码登录,提示密码错误,但可用默认密码登录

期望结果
自定义密码 能工作。

截屏

【BUG】过期的任务未隧日志文件一并删除

Bug 描述
Version: 0.0.2
例如,当 使用 docker 部署 时,通过 config.yml 配置文件自定义日志过期 功能不完全正常。

复现步骤
该 Bug 复现步骤如下

  1. 将 /app/backen/config.yml 配置文件映射出来,并自定义好 log.expireDays
  2. docker run 或 docker-compose up -d 运行 crawlab-lite
  3. 运行一段时间的定时任务
  4. 可以正常删除过期的日志文件,但空日志的定时任务还是残留在任务选项卡界面

期望结果
任务过期功能 能正常工作。

截屏

go run main.go error

crawlab-lite/managers

managers\execute.go:234:42: unknown field 'Setpgid' in struct literal of type syscall.SysProcAttr
managers\task.go:97:10: undefined: syscall.Kill

请问怎么把8080端口修改成其他端口呢

作者您好,叨扰您,请问怎么把8080端口修改成其他端口呢?我尝试讲ngix和docker-compose.yml还有docker-init文件里的涉及到8080端口的地方修改掉,但是仍然还是能从8080端口访问,想知道应该修改哪里

执行gocolly的爬虫时,提示missing $GOPATH

Bug 描述
执行gocolly的爬虫时,提示missing $GOPATH

复现步骤
该 Bug 复现步骤如下

  1. 直接按照帮助使用docker-compose up -d 启动项目
  2. 更新dokcer文件内容,增加go环境
  3. 通过docker exec -it 进入docker,执行go run xxxx.go可正常执行
  4. 通过前端页面上传zip包提示missing $GOPATH

期望结果
请问是我的docker go环境增加有问题么?正确的增加go环境是如何操作,谢谢!

截屏

【BUG】执行删除爬虫操作的时候,未一并删除相关联的定时任务,导致定时任务页面报错

Bug 描述
例如,当 执行删除爬虫操作 时,未一并删除相关联的定时任务吗,导致定时任务管理 功能不工作。

复现步骤
该 Bug 复现步骤如下

  1. 上传 N 个爬虫
  2. 创建几个相关的定时任务
  3. 删除其中一个爬虫
  4. 定时任务页面报错 “spider not found”,并且不展示定时任务

期望结果
定时任务 管理 能工作。

截屏
木有

无法自动安装依赖库

我把requirements.txt 放在项目的根目录一起压缩上传。
image

但是没有自动安装依赖,导致程序异常退出。
image

删除爬虫时增加二次确认

源于#12,为了减少爬虫的误删

需要在删除对话框增加爬虫名称等信息的回显

然后通过 [确认删除勾选框] 或者 [输入用户密码] 的方式进行二次确认

【增强】任务管理增加批量删除任务日志功能

请描述该需求尝试解决的问题
Version: 0.0.2
例如,当 删除任务 时,我总是被当前 只能 一个一个删除旧的任务日志 的设计所困扰,因为这样太没有效率了。

请描述您认为可行的解决方案
例如,添加 批量删除任务日志 功能能够解决问题。

考虑过的替代方案
例如,如果用 抓包调用 HTTP API,也能暂时解决该问题,但是需要编写一份脚本。

截屏
dMxPsg.png

用crawlab-go-sdk抓取数据生成爬虫抓取失败

Bug 描述
根据https://github.com/crawlab-team/crawlab-go-sdk的相关描述,生成一个爬虫,把采集的数据存入kv的lite数据,结果出错。从错误信息看是保存采集数据的问题。那我的问题是如何采集数据到kvdb呢?

** SDK 错误信息 **
12021/05/18 23:29:06 $1 dial mongo error: no reachable servers
2goroutine 1 [running]:
3runtime/debug.Stack(0x0, 0x0, 0x0)
4/usr/local/go/src/runtime/debug/stack.go:24 +0x9f
5runtime/debug.PrintStack()
6/usr/local/go/src/runtime/debug/stack.go:16 +0x25
7github.com/crawlab-team/crawlab-go-sdk/database.GetDataSourceCol(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
8/home/ricky/go/pkg/mod/github.com/crawlab-team/[email protected]/database/mongo.go:39 +0x4e7
9github.com/crawlab-team/crawlab-go-sdk/database.GetMongoCol(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
10/home/ricky/go/pkg/mod/github.com/crawlab-team/[email protected]/database/mongo.go:50 +0x23f
11github.com/crawlab-team/crawlab-go-sdk/utils.SaveItemMongo(0xc000113830, 0x0, 0x0)
12/home/ricky/go/pkg/mod/github.com/crawlab-team/[email protected]/utils/data.go:37 +0x78
13github.com/crawlab-team/crawlab-go-sdk/utils.SaveItem(0xc000113830, 0xc000113830, 0x879ec0)
14/home/ricky/go/pkg/mod/github.com/crawlab-team/[email protected]/utils/data.go:16 +0x1d7
15github.com/crawlab-team/crawlab-go-sdk.SaveItem(...)
16/home/ricky/go/pkg/mod/github.com/crawlab-team/[email protected]/main.go:9
17main.main()
18/home/ricky/lab/golang/hello/spiders/main.go:12 +0xe5

【BUG】手动删除任务选项卡页面下的任务列表时,db.kv 里对应的 task 结果的键值对未一并删除,导致残留

Bug 描述
Version: 0.0.2

复现步骤
该 Bug 复现步骤如下

  1. 运行几个定时任务
  2. 前往任务选项卡删除运行时产生的任务详情列表
  3. cat /app/data/ab/kv.db 会发现对应的 task 结果的键值对并未一并删除

期望结果
任务详情删除功能 能正常工作。
task 结果的键值对残留可能导致 kv.db 文件随着时间的推移越来越臃肿

截屏
dMxMyF.png

【增强】优化磁盘 IO 占用

请描述该需求尝试解决的问题
当 日志列表存在大量日志(大概存在 250条 左右的日志) 时,程序读写硬盘将达到 3MB/s
清空日志列表后,读写 IO 将显著下降到 0.5MB/s

是否是因为程序一直在遍历 kvdb 或磁盘以便清理过期日志及文件造成的?
(注:只有5个低频的定时任务,执行间隔半个小时/一个小时不等的那种,另外一天只有16小时左右的调度区间)

请描述您认为可行的解决方案
优化程序的磁盘 IO 占用

2020/09/27 更新:
增加贴图
0FtyRS.png

图片说明,9月8号之前是没有使用 docker 部署 crawlab-lite 的,部署之后读写流量飙升
为啥能用网络流量仪监控到,是因为我用的网络存储SSD持久化的数据文件
中间有几天下载数据量超过20GB的是因为那几天在测试 InfluxDB 数据库,所以那几天可以忽略
但是再扣掉9月8号之前的基础读写量,crawlab-lite 的读写量还是异常惊人,这样的话 SSD 估计很快就能写废

考虑过的替代方案

请教一下关于在阿里云部署后的依赖安装问题

Bug 描述
使用默认的docker compose 文件创建后,外网8080访问正常,进入docker容器之后无法联网, ping www.baidu.com 无法ping 通,无法使用 pip安装依赖。
加上 # network_mode: "host" 之后,容器可以上网,但外网访问 8080 无法获取前端页面。

复现步骤

期望结果

截屏

【请教】backend/scripts/install.sh 文件在哪?

docker_init.sh 中有一段 shell 脚本:

# install languages
if [ "${CRAWLAB_SERVER_LANG_NODE}" = "Y" ] || [ "${CRAWLAB_SERVER_LANG_JAVA}" = "Y" ];
then
	echo "installing languages"
	echo "you can view log at /var/log/install.sh.log"
	/bin/sh /app/backend/scripts/install.sh >> /var/log/install.sh.log 2>&1 &
fi

但我找遍项目源码并未发现 scripts/install.sh 这个文件,也似乎并未发现从网络或者其他地方下载的逻辑,请教一下这个 install.sh 的脚本是从哪个地方复制到容器里的呢?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.