如何看待 slack 这个前端框架

如何看待 slack 这个前端框架,第1张

为什么要做 slack-alert 呢? 成因其实是我一直想做的AST相关的一个项目. 正好是一个机会. 其次也是业务需要:

工程师都比较懒, 在每天的各种问题邮件几百几千封的时候会经常遗漏重要的邮件. 会经常被用户以及公司其他同事发现问题时@到时候才发现. 现在大家也接受了slack这个工具. 那么我就在想何不把更重要的消息发送到slack里呢.

原来也做过, 就是写一些脚本, 会把运行的结果通过 slacker 里面封装的 postMessage 发消息进来. 先说一下为什么我不用 Incoming-webhooks . 最主要的, 因为通常slack都是用的免费版, 我担心对webhooks会有限制或者未来会有限制.

但是为什么做这个 微框架 呢? 一则这样的脚本和任务会越来越多, 脚本需要设置的定时任务的间隔也会各不相同. 用系统自带的crontab, 每次新增修改删除都要去做调整. 代码还需要做抽象用celery, rq这些其实一是很浪费, 二也不怎么应景. 所以我写了这个工具.

优点和特点 只支持python3 支持多种调度模式: AsyncIOSchedulerBackgroundScheduler, GeventScheduler, TornadoScheduler. 默认是AsyncIO 使用 AST , 而没有直接import代码. 代码和项目无关, 没有register. 只需要按格式编写plugin脚本即可, 要被执行的任务加一个装饰器(只需要他是一个装饰器, 不需要存在). 指定运行的间隔就好 附带常用的配置 安装

pip install slack-alert

slack-alert有个默认的配置 slack_alert.conf . 使用 OS X 或者 linux 可以拷贝到 ~/.config/slack_alert.conf

编写插件

PS: 插件目录默认是当前目录的 plugins 子目录下.

tree plugins plugins ├—— examples.py 0 directories, 1 files

# coding=utf-8 import os @deco(seconds=2) # 这个一个正确格式的任务, 因为装饰器里面包含`hours|seconds|minutes|days`这样的键. def a(): print(1) # 插件也需要python3的语法 print(os) # 可以使用外部的变量成都软件外包公司http://www.yingtaow.com?return 1 # 这个返回值最后会被发送到slack的channel里面 def b(): # 这个函数因为没有对应的格式的装饰器 他不会被当做一个任务 print(3) return 2 @deco2(xx=1) @deco(minutes=2, seconds=30) def c(): # 这个函数也不是一个正确格式的装饰器. 我需要把`deco`放在最外面 print(4) return 3

PS: 大家不要迷惑为什么 deco 这个函数没有介绍. 因为我只需要这个代码文本. 我其实不直接运行这个脚本. 所以不需要装饰器存在.

使用

slack-alert

这样就启动了.

a 这个函数就会每隔2秒运行一次, 运行三次后, 停顿60分钟… 这样循环(高级用法看下面的参数). 并且把结果发送到slack里面

原理 启动 slack-alert 我首先加载配置. 我会根据配置 --path 去找我应该去哪个文件目录下(默认是当前目录)的 plugins 子目录下去找符合的任务程序. 加载符合的目录下的每个python文件. 生成一个AST(抽象语法树). 遍历这棵树. 找到符合我需要的语法的函数. 去掉这个实际不存在的装饰器. 编译源码并且执行. 生成一个命名空间 获取这个命名空间的参数, 通过 apscheduler . 添加一个任务 添加全部任务. 再添加一个监控这些任务的任务(主要是用来在某些时机停掉/启动其他某些任务) 启动任务调度. 直到 Ctrl+C 高级选项

Linux系统跟windows系统的安装不大一样,有不少需要注意的地方,以Redhat

Linux

9.0为例

一、

安装前的注意事项。

关于机器配置:Linux设计之初衷就是用较低的系统配置提供高效率的系统服务!因此安装Linux并没有严格的系统配置要求,只要Pentium以上的CPU、64MB以上的内存、1GB左右的硬盘空间即可正常安装基本的Linux系统并能运行一些系统服务;要顺畅地运行Linux的图形界面,建议内存要在128MB以上。

其它硬件支持上:Linux目前支持几乎所有的处理器(CPU)。另外要提一下,如果你手头的Linux版本较早的话,可能只支持很少的显卡、声卡类型,而一般现在所使用的版本,如本文后例的RedHat

Linux9.0,就不需担心这些了。

关于安装方式:Redhat

Linux

9.0可以有两种方式进行安装。一种是硬盘安装,即从网上直接下载Linux的ISO映像文件。一共包括三个文件①shrike-i386-disc1.iso;②shrike-i386-disc2.iso;③

shrike-i386-disc3.iso,这就好似三张安装光盘。接着使用Daemon

Tool之类的虚拟光驱软件将其解压出来,找到dosutils目录,执行里面的autoboot.bat批处理文件即可。

另一种最方便的就是光盘安装(一般是3CD)。

Redhat

Linux

9.0保留了以前版本中的字符模式安装界面,并同时具有“豪华”的GUI图形化界面。在开始安装时RedHat

9会对安装光盘介质进行检测,以防止在安装过程中的因光盘无法读取等情况造成安装失败,非常实用

二、

实际安装过程。

无论是从硬盘安装还是光盘安装,最终都会进入如下的安装过程。全图形化界面,我们可以很快上手。

第一步:选择安装语言:RedHat支持世界上几乎所有国家的语言,当然包括中文。这一步比较简单,直接选中简体中文一项点“next”即可。选择为简体中文后,剩下的安装步骤即为全中文,在安装结束后,Linux的界面也将默认为简体中文!

第二步:选择键盘类型。在这一步里是要我们选择在系统上使用的键盘布局类型,一般点选其默认“U.S.

English”即可

第三步:选择你的鼠标类型。这一步和上一步一样,一般以其默认即可。这里有点小小的问题需注意:尽量在列表中找到与你鼠标相匹配的类型,否则安装完成后的系统 *** 作会出现错误。比如你还用的是比较

老的串口(扁口)鼠标,要在“设备”一栏内选择与其对应的端口

第四步:确定安装类型。一共提供了四个选择。上面三项其实是省心设计,因为要定制自己的Linux系统,完全可以选择第四项“定制”!而如果你想要安装过程更快一些,可以根据自己的用途选择前面三项。每一项都有说明,大家应该不难理解,这里不在详述。我们选“定制”进入下一步

第五步:确定磁盘分区方式。REDHAT

Linux

9.0提供了两种分区方式——自动分区和使用DISK

DRUID程序进行手动分区。

其中自动分区选择,如果你是新购的计算机,硬盘上没有任何 *** 作系统,建议使用此选项,它会自动根据磁盘和内存的大小,分配磁盘空间和SWAP空间。一定注意要是硬盘没有安装过任何 *** 作系统,因为它会自动删除原先硬盘上的数据并格式化成为Linux的分区文件系统(EXT2、EXT3等格式)!

而手动分区就更好一些。如果你的系统已安装过windows系列的 *** 作系统,就可以用这种DISK

DRUID程序的方式进行手动分区。利用DISK

DRUID可以很方便的对磁盘分区进行删除、添加和修改

第六步:开始磁盘分区。这是Linux安装过程中最重要的一步。Linux有自己的文件系统格式(redhat

linux默认为EXT3),而且其分区在Windows *** 作系统下无法识别,所以要为Linux单独开辟一个(或若干个)分区。在使用DISK

DRUID对磁盘分区进行 *** 作时,有四个重要的参数需要仔细设定:它们是挂载点、文件系统类型、分区大小以及驱动器

以下对四个参数作个简单说明:

1、

挂载点:它指定了该分区对应Linux文件系统的哪个目录。意思就是将不同的物理磁盘上的分区映射到不同的目录,这样可以实现将不同的服务程序放在不同的物理磁盘上,当其中一个分区损坏不会影响到其他的分区数据。

2、

文件系统类型:可选择的类型有EXT2、EXT3、REISERFS、SWAP等。前两个是系统默认类型,SWAP是建立虚拟内存空间。

3、

大小:以MB为单位。这里主要提一下SWAP分区大小,一般设为物理内存的两倍,如果你的物理内存大于1GB,SWAP分区建议设置为2GB。

4、

驱动器:即是指计算机中有多个物理磁盘,可以很方便的选择你要进行分区 *** 作的那个物理磁盘。类似于“FDISK”分区中的 *** 作。

第七步:配置引导装载程序。当你机子还有windows系统存在时,就要注意在这里配置一下了。框内部分即为你机器里安装的所有系统列表,如果没有发现其它系统而你确实安装过的,可以点“添加”进行加入,不然计算机将会默认启动Linux,你先前的 *** 作系统将无法启动!点“编辑”可以设定某个系统的启动等待时间

第八步:网络配置。如果你是拨号上网的话,就直接选NEXT;而如果你是通过局域网或是宽带上网,就需要填写IP和网关。到这一步,安装程序会自动检测计算机的所有网络设备,故要进行配置,直接点选安装程序检测到的本机网络设备,再点“编辑”即可进行配置。可以选择DHCP动态分配和手动配置两种方式,请根据你的网络类型而定此步的设置。

第九步:防火墙配置。这一步是网络安全配置。对系统安全要求较高的朋友可以选择“高级”级别,而一般的用户勾选“使用默认的防火墙规则”即可。另外就是注意“允许进入”一项,在这里对你的Linux将要开展的一些服务作规划,如要架设WEB服务器,上网冲浪,应当勾选“www(HTTP)”一项;“SSH”是一种对系统进行保护的安全机制,建议勾选

接下来是选择系统默认使用语言、时区选择、以及设置根口令这三步。由于这几步没什么需要注意的,按其默认点下一步即可,唯有设置根口令一步提醒一下,只有在管理时才使用根帐号。

第十步:欲安装软件组选择。即定制你的Linux程序组,从上往下有“桌面”、“应用程序”、“网络组件”等详尽的分类,当选定某一个组件后,点击“细节”可以查看此组件所包含的子组件数(前面也有数字提示)

要使Linux以图形界面启动,就点选“X窗口系统”;在“应用程序”中“图形化互联网”也应点选,这样才能在Linux系统下正常的浏览网页及进行各种网络应用。一般说来,在“

程序组件”所示的所有选项中,可以点选右边的“细节”按钮一个一个的去看看,挑自己最实用的安装

第十一步:开始安装。经过前面十步,现在终于可以开始安装了。Linux比起windows *** 作系统的安装来说,要慢得多,根据你机器的配置情况,此过程会持续一小时左右.期间会让提示让你插入第二张、第三张光盘,因此得乖乖的呆在电脑面前!OK,一小时过后,满足的使用你的Linux系统吧

方法一:直接通过lilo制定init="/bin/bash启动来修改密码方法二:通过光盘启动,挂载/分区,修改/etc/shadow文件来清空密码

方法一实现过程首先启动启动linux,到lilo出现的时候,我们随便按一键让lilo停住(不要按回车哦)

这里我们看到lilo列表里面只有一个系统,就是启动项名称叫slack的系统。

我们输入如下命令启动这个系统

slack init=/bin/bash rw

注意:我们上面命令里面的slack是和启动项名称对应的。你在你的lilo里面设置的系统是什么名称,就用什么代替。

系统进入系统后,会出现如下的提示符

bash-3.00#我们在提示符后面输入

passwd按照给我们的说明,输入两至三次新的密码就可以了。

因为现在的系统只是个很小的内核系统,我们不要作任何其它的 *** 作,也不要用exit退出shell.修改好密码后,我们用如下命令让/目录只读

mount -o remount,rw /

现在就可以安全的重启系统了


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7164162.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存