es6 获取当前时间 yymmddhhmmss
123456789export const getDateYYYYMMddHHMMSS = () => { const date = new Date(); const month = (date.getMonth() + 1).toString().padStart(2, '0'); const strDate = date.getDate().toString().padStart(2, '0'); const starHours = date.getHours().toString().padStart(2, '0'); const starMinutes = date.getMinutes().toString().padStart(2, '0'); const starSeconds = date.getSeconds().toString().padStart(2, '0'); return `${date. ...
Nginx-RTMP-搭建视频推流服务器
前言目的:为了实现将大疆无人机采集的视频推流到服务器端,将图像进行处理。使用公网ip,使推流服务不局限于局域网。
准备
环境腾讯云轻量服务器,操作系统为Ubuntu18.04,附带公网ip。
安装相关依赖包sudo apt-get install autoconf automakesudo apt-get install libpcre3 libpcre3-devsudo apt-get install opensslsudo apt-get install libssl-devsudo apt-get install zlib1g-devsudo apt-get build-dep gcc
搭建
系统下创建安装文件夹mkdir optcd optmkdir workspacecd workspace
下载nginx安装包wget http://nginx.org/download/nginx-1.18.0.tar.gz
下载nginx-rtmp-modulewget https://github.com/arut/nginx-rtmp-module/archive/m ...
Windows自带远程桌面使用方法
步骤1在电脑上按
1Windows + R
键打开运行对话框,然后输入
1CMD
并单击“确定”打开命令提示符。
步骤2在命令提示符窗口中输入
1mstsc/console
然后按下“Enter”键即可打开远程桌面连接窗口,再在窗口中输入远程IP地址就可以进行远程连接。
正排索引和倒排索引
原文链接https://www.cnblogs.com/lotuslaw/p/16393064.html
正排索引正排表是以文档的ID为关键字,表中记录文档中每个字的位置信息,查找时扫描表中每个文档中字的信息直到找出所有包含查询关键字的文档。正排表结构如图1所示,这种组织方法在建立索引的时候结构比较简单,建立比较方便且易于维护;因为索引是基于文档建立的,若是有新的文档加入,直接为该文档建立一个新的索引>块,挂接在原来索引文件的后面。若是有文档删除,则直接找到该文档号文档对应的索引信息,将其直接删除。但是在查询的时候需对所有的文档进行扫描以确保没有遗漏,这样就使得检>索时间大大延长,检索效率低下。尽管正排表的工作原理非常的简单,但是由于其检索效率太低,除非在特定情况下,否则实用性价值不大。
倒排索引倒排表以字或词为关键字进行索引,表中关键字所对应的记录表项记录了出现这个字或词的所有文档,一个表项就是一个字表段,它记录该文档的ID和字符在该文档中出现的位置情况。由于每个字或词对应的文档数量在动态变化,所以倒排表的建立和维护都较为复杂,但是在查询的时候由于可以一次得到查询关键字 ...
consul配置服务健康检测
配置路径1/opt/1panel/apps/consul/consul/data/config
配置文件1234567891011121314151617{ "service": { "id": "xxx", "name": "xxx", "address": "127.0.0.1", "port": 9000, "tags": [ "dev" ], "checks": [ { "http": "http://127.0.0.1:9000/health", "interval": "20s" } ] }}
sqlalchemy 處理mysql json類型數據
123query = query.filter( func.json_extract(models.Table.data, '$.title').like(f"%{search}%"),)
mysql 清除重复数据
python代码12345678910111213def clean_table(db: Session): select_sql = ('SELECT MIN(id) as id,col1,col2,COUNT(*) FROM table ' 'GROUP BY col1,col2 ' 'HAVING COUNT(*) > 1 LIMIT 200 ') while True: select_sql_res = db.execute(select_sql).fetchall() if not select_sql_res: break delete_ids = [str(item["id"]) for item in select_sql_res] delete_sql = ('DELETE FROM table ' ...
列举mysql正在执行中的全部事务
应急方法show full processlistkill掉出现问题的进程。ps.有的时候通过processlist是看不出哪里有锁等待的,当两个事务都在commit阶段是无法体现在processlist上
Go 语言分布式任务处理器 Machinery – 架构
原文链接:https://marksuper.xyz/2022/04/20/machinery1/
Go 语言分布式任务处理器 Machinery – 架构,源码详解篇你是否因为一个复杂的分布式并发场景且需要进行任务编排而写了一个逻辑复杂,各种耦合,又臭又长的代码?代码跑起来各种bug 浪费时间精力,其他人也看不懂没法接手?
其实 Go 语言有现成的轮子来辅助你实现复杂的逻辑,让你的代码优美,低耦合,鲁棒性强,少bug。这个就是分布式队列Machinery
本文深度结合源码讲解Machinery的使用方法和需要注意的坑位,让你从根上掌握Machinery的使用方法。
优势我们为什么要使用任务处理器?其实引入一个轮子之前想清楚他的优势是十分必要的,如果不充分了解他的优势那么很可能就为了用而用,很多场景可能使用它反而浪费了系统性能。我们就先来看下Machinery 的优势:
Machinery 支持定义串行,并行 ,延迟,重试,定时等各种任务执行方式,并且你可以在定义好任务执行方式后对多个任务进行编排,调任务整先后完成顺序,他还对数据处理结果进行缓存,处理结果出错可以再次处理,增加程序的鲁 ...
gin 框架实现异步处理
12345678910111213141516171819202122232425262728293031package mainimport ( "log" "time" "github.com/gin-gonic/gin")func main() { // 1.创建路由 // 默认使用了2个中间件Logger(), Recovery() r := gin.Default() // 1.异步 r.GET("/long_async", func(c *gin.Context) { // 需要搞一个副本 copyContext := c.Copy() // 异步处理 go func() { time.Sleep(3 * time.Second) log.Println("异步执行:" + copyContext.R ...