前因

版本:NexT.Pisces v6.6.0
Error: 阅读次数:Counter not initialized! See more at console err msg.

解决

出现上述之错误,遂查看配置文件之说明

1
2
3
4
5
6
7
8
9
10
11
# Show number of visitors to each article.
# You can visit https://leancloud.cn get AppID and AppKey.
leancloud_visitors:
enable: true
app_id: <<your app id>>
app_key: <<your app key>>
# Dependencies: https://github.com/theme-next/hexo-leancloud-counter-security
# If you don't care about security in lc counter and just want to use it directly
# (without hexo-leancloud-counter-security plugin), set the `security` to `false`.
security: true
betterPerformance: false

如上述两个解决办法:

  1. 安装hexo-leancloud-counter-security并设置leancloudapp_idapp_key

  2. security设置为security: false

因为懒所以选择了第二方案。

简介

Beanstalkd - 一个高性能、轻量级的分布式内存队列系统。

英文协议

中文协议

安装

这里我们用Docker来运行。

1
2
docker pull schickling/beanstalkd
docker run -d -p 11300:11300 schickling/beanstalkd

beanstalkd管理WEB平台,主要用来看看以后的任务详情。

1
2
docker pull schickling/beanstalkd-console
docker run -d -p 2080:2080 --link beanstalkd:beanstalkd schickling/beanstalkd-console

通过127.0.0.1:2080访问

使用

官方客户端推荐列表Client

下面我们主要介绍Nodejs客户端bsw

客户端安装

1
npm i bsw --save

客户端示例

这里我们用阿里开源框架eggjs做测试。
app.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'use strict';
const { Consumer } = require('bsw');
module.exports = app => {
app.beforeStart(async () => {
const consumer = new Consumer({
host: 'localhost',
port: '11300',
tube: 'node',
async handler(payload, job_info) {
console.log('processing job: ', payload);
console.log('processing job_info: ', job_info);
// 这里进行业务操作
return 'success';
},
});
consumer.on('error', e => {
console.log(e);
});
console.log('beanstalkd启动了');
await consumer.start();
});
};

home.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'use strict';
const Controller = require('egg').Controller;
const { Producer } = require('bsw');
class HomeController extends Controller {
async index() {
const producer = new Producer({
host: 'localhost',
port: '11300',
tube: 'node',
});
await producer.start();
await producer.putJob({
payload: JSON.stringify({ throw: true, result: 'success' }),
priority: 0, // 优先级
delay: 30, // 延时单位(s)
ttr: 60, // 允许worker执行的最大秒数
});
producer.stop();
this.ctx.body = 'hi, egg';
}
}
module.exports = HomeController;


天若有情天亦老,月如无恨月长圆

commons-lang3

概述

Apache Commons-Lang3库提供了JavaAPI的核心类的操作支持。此支持包括处理字符串,数字,日期,并发,对象反射等的方法。

Maven依赖

要使用commons-lang3库,只需使用以下依赖项从中央Maven存储库中提取它

1
2
3
4
5
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.8.1</version>
</dependency>

示例、文档参考

文档参考:StringUtils

Hutool

概述

Hutool是一个Java工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让Java语言也可以“甜甜的”。

Maven依赖

1
2
3
4
5
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.2.1</version>
</dependency>

示例、文档参考

文档参考:Hutool

easy-okhttp

概述

easy-okhttp是对OkHttp网络框架封装,提供文件上传和下载,表单(含文件)提交,链式调用,支持HTTPS和自定义签名证书等特性。

Maven依赖

1
2
3
4
5
<dependency>
<groupId>com.mzlion</groupId>
<artifactId>easy-okhttp</artifactId>
<version>1.1.0</version>
</dependency>

示例、文档参考

文档参考:easy-okhttp

查看docker磁盘使用情况

1
docker system df

kill掉所有容器

1
docker kill $(docker ps -a -q)

删除所有停止容器

1
docker rm $(docker ps -a -q)

删除所有镜像

1
docker rmi $(docker images -q)

强制删除镜像

当同一镜像被多个储存库引用时,就需要强制删除镜像

1
docker rmi -f 镜像ID

删除tag为<none>的所有镜像

1
2
3
docker images|grep none|awk '{print $3}'|xargs docker rmi

docker rmi $(docker images -f "dangling=true" -q)

删除已经PUSH带有DIGEST参数镜像

1
2
3
4
5
$ docker images --digests
REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
localhost:5000/nodeservice <none> sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf 4986bf8c1536 9 weeks ago 2.43 MB

$ docker rmi localhost:5000/nodeservice@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf


参考:Docker命令