Skip to content

Commit f27fd66

Browse files
committed
feat:新增cron和langchain
1 parent d652fd6 commit f27fd66

File tree

6 files changed

+119
-3
lines changed

6 files changed

+119
-3
lines changed

docs/.vitepress/config.mjs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,13 @@ let python_col_items = [
7676
{text: "分布式任务队列工具:Celery", link: "/python/collection/celery"},
7777
];
7878
let backend_items = [
79-
{text: "git笔记", link: "/backend/git笔记"},
79+
{text: "git提交规范", link: "/backend/git"},
80+
{text: "cron表达式: 设置定时任务", link: "/backend/cron"},
8081
{
8182
text: "docker笔记",
82-
link: "/backend/docker笔记",
83+
link: "/backend/docker",
8384
},
84-
{text: "nginx笔记", link: "/backend/nginx笔记"},
85+
{text: "nginx笔记", link: "/backend/nginx"},
8586
{text: "布隆过滤器", link: "/backend/布隆过滤器"},
8687
];
8788
let web_intro_items = [

docs/backend/cron.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
## Cron 表达式介绍
2+
3+
Cron 表达式是一种用于设置定时任务的字符串格式,广泛应用于 Unix 和类 Unix 系统(如 Linux),以及许多编程语言和框架(如 Java 的 Quartz 调度器、Python 的 APScheduler 等)。它提供了一种简洁的方式,让用户能够定义任务的执行时间,例如每天的某个时刻、每周的某一天或每月的某一天等。
4+
5+
---
6+
7+
### Cron 表达式的结构
8+
9+
一个标准的 Cron 表达式通常由 **6 个字段**组成,各字段之间用空格分隔,表示不同的时间单位。格式如下:
10+
11+
```
12+
* * * * * *
13+
```
14+
15+
这 6 个字段分别代表:
16+
17+
1. ****(取值范围:0-59)
18+
2. **分钟**(取值范围:0-59)
19+
3. **小时**(取值范围:0-23)
20+
4. ****(取值范围:1-31)
21+
5. ****(取值范围:1-12)
22+
6. **星期**(取值范围:0-7,其中 0 和 7 都表示星期日)
23+
24+
****:在某些系统中(如 Quartz),Cron 表达式可能包含第 7 个字段,表示年份。不过本文主要介绍常见的 6 字段格式。
25+
26+
---
27+
28+
### 字段中的特殊字符
29+
30+
Cron 表达式支持一些特殊字符,用来定义更灵活的时间模式:
31+
32+
- **`*`**:表示该字段的所有可能值。例如,在分钟字段中,`*` 表示“每分钟”。
33+
- **`,`**:用于列出多个值。例如,在小时字段中,`1,2,3` 表示 1 点、2 点和 3 点。
34+
- **`-`**:表示一个范围。例如,在日字段中,`1-5` 表示从 1 号到 5 号。
35+
- **`/`**:表示步长。例如,在分钟字段中,`*/15` 表示每隔 15 分钟。
36+
- **`?`**:在“日”和“星期”字段中使用,表示不指定具体值,常用于避免冲突。
37+
- **`L`**:表示“最后”。例如,在日字段中,`L` 表示该月的最后一天。
38+
- **`W`**:表示“最近的工作日”。例如,在日字段中,`15W` 表示离 15 号最近的工作日。
39+
40+
---
41+
42+
### 常见示例
43+
44+
以下是一些典型的 Cron 表达式及其含义:
45+
46+
- **`0 0 12 * * ?`**
47+
每天中午 12 点执行。
48+
49+
- **`0 15 10 ? * *`**
50+
每天上午 10:15 执行。
51+
52+
- **`0 0 8-10 * * ?`**
53+
每天上午 8 点、9 点和 10 点执行。
54+
55+
- **`0 0/30 9-17 * * ?`**
56+
每天上午 9 点到下午 5 点,每隔 30 分钟执行一次。
57+
58+
- **`0 0 12 ? * WED`**
59+
每周三中午 12 点执行。
60+
61+
- **`0 0 0 1 1 ? *`**
62+
每年 1 月 1 日午夜执行。
63+
64+
---
65+
66+
### 注意事项
67+
68+
1. **字段顺序**
69+
必须严格按照“秒、分钟、小时、日、月、星期”的顺序编写,否则任务可能无法正确执行。
70+
71+
2. **取值范围**
72+
每个字段都有固定的取值范围,超出范围会导致错误。
73+
74+
3. **日和星期的冲突**
75+
如果“日”和“星期”字段同时指定了具体值,可能会产生冲突。建议在其中一个字段使用 `?` 来避免问题。
76+
77+
4. **时区问题**
78+
Cron 表达式的执行时间通常依赖于系统的时区设置,需确保时区正确以避免时间偏差。
79+
80+
---
81+
82+
### 总结
83+
84+
Cron 表达式是一种功能强大且灵活的工具,能够帮助用户精确地定义定时任务的执行时间。通过理解其结构和特殊字符的用法,无论是系统管理员还是开发者,都可以轻松创建复杂的调度计划,提升工作效率。
File renamed without changes.
File renamed without changes.
File renamed without changes.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Langchain
2+
3+
### Langchain 是什么?
4+
5+
Langchain 是一个开源的框架,旨在帮助开发者构建基于大型语言模型(LLM)的应用程序。它提供了一套工具和组件,使得开发者能够更轻松地集成和使用语言模型(如 GPT-3、GPT-4 等),从而开发出功能强大的应用,比如聊天机器人、问答系统、内容生成工具等。
6+
7+
### 主要特点和功能
8+
9+
- **支持多种语言模型**
10+
Langchain 支持多种流行的语言模型,包括 OpenAI 的 GPT 系列、Google 的 BERT 等。开发者可以根据自己的需求选择合适的模型来驱动应用。
11+
12+
- **预构建的组件**
13+
Langchain 提供了许多开箱即用的组件,例如文本生成、文本分类、实体识别等。这些组件可以让开发者快速上手,减少从零开始开发的复杂性。
14+
15+
- **自定义组件**
16+
除了预构建的组件外,Langchain 还允许开发者根据具体需求开发和集成自定义组件,提供了高度的灵活性和扩展性。
17+
18+
- **应用场景广泛**
19+
Langchain 适用于多种应用场景,包括但不限于:
20+
- 聊天机器人
21+
- 智能客服系统
22+
- 内容生成工具
23+
- 语言翻译工具
24+
它特别适合需要自然语言处理(NLP)功能的应用。
25+
26+
- **社区和生态系统**
27+
Langchain 是一个开源项目,拥有一个活跃的社区,开发者可以在其中获取帮助、分享经验并贡献代码。此外,Langchain 还与其他开源工具集成,例如 Hugging Face 的 Transformers 库和 TensorFlow 等,使得开发者能够更方便地构建复杂的应用程序。
28+
29+
### 总结
30+
31+
Langchain 是一个功能强大且灵活的框架,专为构建基于语言模型的应用而设计。通过提供丰富的工具、组件以及社区支持,它帮助开发者快速、高效地开发出高质量的自然语言处理应用。无论是初学者还是经验丰富的开发者,Langchain 都是一个值得尝试的工具。

0 commit comments

Comments
 (0)