crawlab-team / crawlab-lite Goto Github PK
View Code? Open in Web Editor NEWLite version of Crawlab. 轻量版 Crawlab 爬虫管理平台
License: BSD 3-Clause "New" or "Revised" License
Lite version of Crawlab. 轻量版 Crawlab 爬虫管理平台
License: BSD 3-Clause "New" or "Revised" License
Bug 描述
使用docker部署完后,添加爬虫项目,然后在定时任务添加一个任务,
当任务执行结束,在任务栏可以见到任务状态,
但是在定时任务栏点击相应任务的查看任务按钮,看不到相应记录,返回结果为空。
我自己多次安装测试,发现在添加一个定时任务之后,
需要重新启动容器,之后该定时任务所运行的任务才能在定时任务栏里查看到。
每添加新的定时任务,都需要重启容器
此外还有一个小bug,定义完一个定时任务后,点击编辑按钮,再点击编辑cron表达式,读取的时间信息会出现错位,比如“0 0 15 * * *”在点击编辑按钮之后,如果什么都不改就保存,cron表达式最后会变成“0 0 0 15 * *”
Bug 描述
version: v0.0.4
该版本容器部署的服务会宕机
请描述该需求尝试解决的问题
例如,当 xxx 时,我总是被当前 xxx 的设计所困扰。
请描述您认为可行的解决方案
例如,添加 xxx 功能能够解决问题。
考虑过的替代方案
例如,如果用 xxx,也能解决该问题。
建议完善下 crawlab-lite 的相关文档
Bug 描述
Version: 0.0.2
例如,当 使用 docker 部署 时,通过 config.yml 配置文件自定义密码 功能不工作。
复现步骤
该 Bug 复现步骤如下
期望结果
自定义密码 能工作。
截屏
无
Bug 描述
Version: 0.0.2
例如,当 使用 docker 部署 时,通过 config.yml 配置文件自定义日志过期 功能不完全正常。
复现步骤
该 Bug 复现步骤如下
期望结果
任务过期功能 能正常工作。
截屏
无
managers\execute.go:234:42: unknown field 'Setpgid' in struct literal of type syscall.SysProcAttr
managers\task.go:97:10: undefined: syscall.Kill
作者您好,叨扰您,请问怎么把8080端口修改成其他端口呢?我尝试讲ngix和docker-compose.yml还有docker-init文件里的涉及到8080端口的地方修改掉,但是仍然还是能从8080端口访问,想知道应该修改哪里
请问crawlab的前端部分使用的是node.js的哪个版本,我使用npm安装依赖时存在报错
docker swarm
Bug 描述
go: github.com/ahmetb/[email protected]+incompatible: Get "https://proxy.golang.org/github.com/ahmetb/go-linq/@v/v3.0.0+incompatible.mod": dial tcp 34.64.4.113:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
Bug 描述
执行gocolly的爬虫时,提示missing $GOPATH
复现步骤
该 Bug 复现步骤如下
期望结果
请问是我的docker go环境增加有问题么?正确的增加go环境是如何操作,谢谢!
截屏
Bug 描述
例如,当 执行删除爬虫操作 时,未一并删除相关联的定时任务吗,导致定时任务管理 功能不工作。
复现步骤
该 Bug 复现步骤如下
期望结果
定时任务 管理 能工作。
截屏
木有
在使用的过程中,爬虫有误删的情况,想增加普通用户,让其不能删除爬虫
Import $1 : libGL.so.1: cannot open shared object file: No such file or directory
Raspberry Pi cannot launch Crawlab-lite directly in docker
请问docker部署模式能否支持arm架构,在树莓派运行?
** 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
这样做可以方便的做分表和一些基础功能的数据库操作,也能定期执行数据文件压缩,防止数据文件随时间推移而变得臃肿
希望有一个docker镜像,方便部署,只是简单的调度,很适合自定义爬虫
请描述该需求尝试解决的问题
当 日志列表存在大量日志(大概存在 250条 左右的日志) 时,程序读写硬盘将达到 3MB/s
清空日志列表后,读写 IO 将显著下降到 0.5MB/s
是否是因为程序一直在遍历 kvdb 或磁盘以便清理过期日志及文件造成的?
(注:只有5个低频的定时任务,执行间隔半个小时/一个小时不等的那种,另外一天只有16小时左右的调度区间)
请描述您认为可行的解决方案
优化程序的磁盘 IO 占用
图片说明,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 无法获取前端页面。
复现步骤
期望结果
截屏
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 的脚本是从哪个地方复制到容器里的呢?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.