当然是先上地址:Task 君 | Mr.Task
Task 君这个项目是引申自我曾经写过的一个 “实时监控指定微博用户的发文,对发文内容进行情绪判断、关键字抽取等,做到实时同步关心的人的心情的功能” 这样一个舔狗项目。但是经过一番修改之后,我发现好像不管怎么修改都不能太好的满足公开作为服务的目的。所以我把项目思路整理了一下之后决定做一个新的项目——可以高度自定义的任务托管平台。
这个项目的目的是用户可以自己写一些代码,然后托管在平台上定时执行或者通过 URL 地址进行调用,只要用户会一点代码,不光是监测用户微博的功能,还能实现很多有意思的功能,比如当作一个简单的 Jenkins 来用、定时下载 Bing 的每日壁纸、作为自己服务的可用性检测等等。
Task 君为每一位用户提供了一个 Linux 环境,可以在允许的权限下完整的使用 Linux 的生态。目前已经内置的运行环境包括:
Console.WriteLine("dotNet Core 3.X");
console.info("NodeJS");
print("Python 2.x/3.x")
echo 'PHP';
用户甚至可以自己上传一套需要的运行环境使用。
Task 君的最小业务粒度为 脚本
,用户可以编写不同的脚本来实现自己想要的功能。从简单的直接可运行的程序到需要安装一系列依赖或者其他依赖 Linux 环境的复杂任务,都可以根据自己的需求来编写脚本。
为了保证用户资源的公平性和服务的可用性,Task 君目前有如下限制:
用户可用磁盘空间为软性限制 125MB,硬性限制 150MB 。
任务进程执行时间限制最长不超过 15min 。
任务进程占用 CPU 和内存资源暂无限制。
关于 Task 君的更多说明,请参阅 帮助文档
若在使用中遇到无法解决的问题,请到 我的微博 联系我,或者到 MrTask Issues 提交 Issues 进行反馈。
因为项目完全是我在工作闲暇之余开发,难免有一些 Bug 或者疏漏的地方,希望大家多多提出意见和建议!
有时候任务执行后在日志中会提示执行失败,但是事实上可能只是标准输出流中存在警告信息,比如 pip 或其他依赖的版本过低,所以当看到 “执行失败” 的任务的时候,请手动点击查看日志判断下是否真的是阻塞整个任务的异常。
下一个版本我会优化这个提示。
当然,根据反馈来看,存在真正的异常导致执行失败的原因大部分都是没有安装依赖。如果你的脚本需要依赖,请使用自定义脚本,先安装依赖再执行脚本。
test.py 是使用 Pyhton 3.x 的脚本,并且使用到了 requests 模块,则自定义脚本为:
pip3 install requests --user
python $HOME/test.py
请记住,在使用 pip/pip3 的时候一定要带上 --user
参数
Node-Script 是存放 NodeJS 项目的目录,并且存在正确的 package.json,则自定义脚本为
cd $HOME/Node-Script
yarn
node test.js
1
SilencerL OP # 补充
因为需要将代码保存到服务器上,所以重要文件请务必设置为权限 700 (默认)不要修改。 |
2
ai0by 2020-04-11 09:09:09 +08:00
从图上看是单节点的啊,目前使用 gocron,期待多节点
|
3
lhx2008 2020-04-11 09:09:55 +08:00 via Android
感觉和云 serverless 有点像
|
4
SilencerL OP |
5
labulaka521 2020-04-11 11:00:05 +08:00 via Android
在做同样的事 握爪
|
6
cy97cool 2020-04-11 12:57:34 +08:00
前端不错噢 话说后端直接对接大厂的函数计算如何 改造难度大嘛?
|
8
wysnylc 2020-04-13 14:54:51 +08:00 1
写个定时领取奖励的平台,写一些公共一键模版,未来大有可期
|
9
vtwoextb 2020-04-13 16:09:10 +08:00
这个页面前端框架的 主题 很好 ,在线求
|
10
vtwoextb 2020-04-13 16:09:47 +08:00
后台的
|
11
FakerLeung 2020-04-13 17:39:36 +08:00
@vtwoextb 盲猜 antd 。
|
12
wangjhsir 2020-04-13 20:41:57 +08:00
不错,可以再加一个指定时间戳的 异步回调
比如 举个例子 A 业务添加 item 后 希望 N 分钟后通知 B 业务做处理。这个可以是请求 B 的 api 接口。这样代码就可以保留在每个用户自己的服务器上。更加灵活 |
13
SilencerL OP |
15
huxiweng 2020-04-13 23:51:49 +08:00
有没有精确定时开源项目推荐(万级别的)
|
16
mauve 2020-04-14 09:54:07 +08:00
建议楼主下次发帖加上 .NET Core 字眼
|
18
mclxly 2020-04-14 11:42:28 +08:00
|
20
tikazyq 2020-04-14 13:28:08 +08:00
|
21
tikazyq 2020-04-14 13:49:45 +08:00 1
体验了一下,简单评论一下。
命名比较不友好。“脚本”、“文件”的概念容易混淆,建议脚本改为其他名字,例如“任务”之类的。进程乍一看真不知道咋回事,运行了之后才发现,其实是实际正在运行的“进程”,而且运行完就消失了。 而且感觉 entity 没必要抽象这么多,其实“脚本”耦合到进程里就可以了,“文件”没问题,可以跟着“脚本”走。“任务”的概念真的多此一举,感觉需要学习很多概念,增大了学习成本。 不过这个平台真的不错,只是要考虑可扩展性问题,使用的人一多,必然导致维护成本的增加,包括服务器资源。不如做“私服”版,把代码开源出来,让大家部署。 |
23
SilencerL OP |
25
niuoh 2020-04-14 16:23:05 +08:00
建议在增加一种任务类型 常驻后台执行的任务
|
26
niuoh 2020-04-14 16:26:35 +08:00
如果有个在线的 console 可以 手动安装管理环境 就更好了 然后再完善下文件管理的在线 ide 可以直接在线编辑服务器上的文件
|
27
Mistwave 2020-04-14 20:43:54 +08:00 via iPhone
收藏一下 明天研究看看
|
28
SilencerL OP @niuoh
关于"常驻后台执行"的任务, 这个应该不会添加了, 因为这个项目的目的就是托管一些"需要在某些条件下触发, 运行完即退出" 的任务. 关于在线 console 的话下个版本会考虑添加哦~ 现在可以使用自定义类型的脚本, 比如: ----nodejs---- cd $HOME/example yarn node start.js ---------------- |
29
huayumo 2020-04-16 17:44:12 +08:00
简单的阿里云上好像有免费的监控,比如买东西有货了,就给你发短信
|
30
Aether 2020-04-16 20:02:41 +08:00
之前看到过 https://clock.sh/
|
31
ddup 2020-04-16 21:52:01 +08:00
支持 .NET Core ? 好评
|
33
wework 2020-04-17 09:29:14 +08:00
哈哈,貌似你很喜欢 .tools 后缀啊,不错
|
35
SenLief 2020-04-17 10:21:43 +08:00
可惜不能做轮询,哈哈。
|
36
CoCoMcRee 2020-04-17 14:59:34 +08:00
在用 gocron 的+1
|
37
oxogenesis 2020-04-18 21:12:34 +08:00
@tikazyq 同意#21,好东西可以开源,让大家部署私服
|
38
Arrowing 2020-04-19 11:42:00 +08:00
哈哈,这个和我的一个想法很类似,不过你界面做得很棒!
|
39
SilencerL OP |
40
Terang 2020-04-25 23:53:34 +08:00
感觉可以接入 ifttt?(我的好多定时任务都扔那上面的 hh ) action 挺多的
|
41
hq 2020-04-26 00:24:17 +08:00
同学你已经通过我云函数计算方向的一轮技术面试,方便的时候约下后面的面试。
|
42
SilencerL OP |
43
hq 2020-04-28 00:40:39 +08:00
@SilencerL 我的邮箱 aG9uZ3FpLndhbmdAYWxpYmFiYS1pbmMuY29t,还是建议先考虑我们,构建一些好玩有用的应用是就是工作的一部分。
|
44
huai 2020-09-20 15:03:28 +08:00
请问有多少请求限制呢? 比如 Github Action 每个小时 最多 1k 次请求
|