This is an automated email from the ASF dual-hosted git repository.

zhongjiajie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler-website.git


The following commit(s) were added to refs/heads/master by this push:
     new d322fbc513 Add two blog (#939)
d322fbc513 is described below

commit d322fbc513dbb62bf495aebad3acc23268444a35
Author: Niko-Zeng <[email protected]>
AuthorDate: Tue Jan 9 10:16:34 2024 +0800

    Add two blog (#939)
---
 blog/img/2023-12-25/1.png                          | Bin 0 -> 184823 bytes
 blog/img/2023-12-25/10.png                         | Bin 0 -> 196679 bytes
 blog/img/2023-12-25/2.png                          | Bin 0 -> 396237 bytes
 blog/img/2023-12-25/3.png                          | Bin 0 -> 416658 bytes
 blog/img/2023-12-25/4.png                          | Bin 0 -> 292814 bytes
 blog/img/2023-12-25/5.png                          | Bin 0 -> 411542 bytes
 blog/img/2023-12-25/6.png                          | Bin 0 -> 463973 bytes
 blog/img/2023-12-25/7.png                          | Bin 0 -> 229355 bytes
 blog/img/2023-12-25/8.png                          | Bin 0 -> 490727 bytes
 blog/img/2023-12-25/9.png                          | Bin 0 -> 285498 bytes
 blog/img/2024-01-04/1.png                          | Bin 0 -> 289493 bytes
 ...d_improving_system_stability_and_performance.md |  64 ++++++++
 ...anagement_and_Task_Scheduling_Expert_in_Java.md | 164 +++++++++++++++++++++
 config/blog/zh-cn/release.json                     |   6 +
 config/blog/zh-cn/user.json                        |   9 +-
 15 files changed, 242 insertions(+), 1 deletion(-)

diff --git a/blog/img/2023-12-25/1.png b/blog/img/2023-12-25/1.png
new file mode 100644
index 0000000000..2b837a1b57
Binary files /dev/null and b/blog/img/2023-12-25/1.png differ
diff --git a/blog/img/2023-12-25/10.png b/blog/img/2023-12-25/10.png
new file mode 100644
index 0000000000..3b7862249c
Binary files /dev/null and b/blog/img/2023-12-25/10.png differ
diff --git a/blog/img/2023-12-25/2.png b/blog/img/2023-12-25/2.png
new file mode 100644
index 0000000000..0167dbcc61
Binary files /dev/null and b/blog/img/2023-12-25/2.png differ
diff --git a/blog/img/2023-12-25/3.png b/blog/img/2023-12-25/3.png
new file mode 100644
index 0000000000..8b56ec761a
Binary files /dev/null and b/blog/img/2023-12-25/3.png differ
diff --git a/blog/img/2023-12-25/4.png b/blog/img/2023-12-25/4.png
new file mode 100644
index 0000000000..f29b8b917c
Binary files /dev/null and b/blog/img/2023-12-25/4.png differ
diff --git a/blog/img/2023-12-25/5.png b/blog/img/2023-12-25/5.png
new file mode 100644
index 0000000000..a121ebb91e
Binary files /dev/null and b/blog/img/2023-12-25/5.png differ
diff --git a/blog/img/2023-12-25/6.png b/blog/img/2023-12-25/6.png
new file mode 100644
index 0000000000..e0c9999539
Binary files /dev/null and b/blog/img/2023-12-25/6.png differ
diff --git a/blog/img/2023-12-25/7.png b/blog/img/2023-12-25/7.png
new file mode 100644
index 0000000000..18ba8d05a0
Binary files /dev/null and b/blog/img/2023-12-25/7.png differ
diff --git a/blog/img/2023-12-25/8.png b/blog/img/2023-12-25/8.png
new file mode 100644
index 0000000000..0c474849df
Binary files /dev/null and b/blog/img/2023-12-25/8.png differ
diff --git a/blog/img/2023-12-25/9.png b/blog/img/2023-12-25/9.png
new file mode 100644
index 0000000000..12e2301f6a
Binary files /dev/null and b/blog/img/2023-12-25/9.png differ
diff --git a/blog/img/2024-01-04/1.png b/blog/img/2024-01-04/1.png
new file mode 100644
index 0000000000..edbf30c3b2
Binary files /dev/null and b/blog/img/2024-01-04/1.png differ
diff --git 
a/blog/zh-cn/Apache_DolphinScheduler_3.1.9_version_released_improving_system_stability_and_performance.md
 
b/blog/zh-cn/Apache_DolphinScheduler_3.1.9_version_released_improving_system_stability_and_performance.md
new file mode 100644
index 0000000000..e9de4d9998
--- /dev/null
+++ 
b/blog/zh-cn/Apache_DolphinScheduler_3.1.9_version_released_improving_system_stability_and_performance.md
@@ -0,0 +1,64 @@
+---
+title: Apache DolphinScheduler 3.1.9 版本发布:提升系统的稳定性和性能
+keywords: Apache DolphinScheduler, 3.1.9, 版本发布
+description: 此版本在 3.1.8 的基础上进行了关键的 bug 修复和文档更新,共计修复了 14 个 bug 和改进了 3 个文档。...
+---
+
+ 🚀我们很高兴宣布,Apache DolphinScheduler 的最新版本 3.1.9 已正式发布!此版本在 3.1.8 的基础上进行了关键的 bug 
修复和文档更新,共计修复了 14 个 bug 和改进了 3 个文档。
+
+![](/img/2024-01-04/1.png)
+
+## 主要更新亮点
+
+本次更新重点解决了以下几个关键问题,以提升系统的稳定性和性能:
+
+- **修复死锁问题**:解决了使用任务组抢占资源时可能导致的工作流死锁问题。
+- **优化工作流实例**:修复了 Master 提交失败后,及时停止工作流实例,避免了无限循环的问题。
+- **NPE问题处理**:修复了 Master 处理命令时,可能导致 processInstance 出现空指针异常(NPE)的问题。
+- **Flink任务命令错误**:修复了 Flink 任务生成的命令错误。
+- **避免事件堆叠**:修复了 Master 重复处理事件,避免了事件堆叠的问题。
+- **Switch任务参数检查**:增加了 Switch 任务的参数检查,以避免非法情况。
+- **任务定义日志问题**:解决了任务定义日志可能重复写入的问题。
+
+## Changelog 和下载
+
+欲了解完整的更新内容,可以查看 [全部 
Changelog](https://github.com/apache/dolphinscheduler/releases/tag/3.1.9 "全部 
Changelog")。
+
+新版本现已可在 [官方下载页面](https://dolphinscheduler.apache.org/zh-cn/download/3.1.9 
"官方下载页面") 获取。
+
+## Bugfix
+
+- **[Bug-15215][Api]** non-admin should not modify tenantId and queue #15254 
@zhanqian-1993
+- **[Bug]** fix switch condition #15228 @caishunfeng
+- **[Fix-14805]** Task definition log may be written twice #15016 @HomminLee
+- **[Bug]**[Master] fix duplicate event, avoid event stacking #14986 
@caishunfeng
+- **[Fix-14963]** Fix the error of using shell task to obtain Home variable in 
Ubuntu system #14964 @zhuangchong
+- **[Fix-14729]** fix problem with the command generated by the flink task 
#14902 @LiuCanWu
+  Construct processInstance may NPE when master handling command #14888 
@fuchanghai
+- **[Bug]** [Mater] The process always runs when the process contains 
subprocess and params deliver #14856 @qingwli
+- **[Task]** Change Seatunnel task run-mode to deploy-mode #14800 @zhangbaipeng
+  fix(dolphinscheduler-alert): fix create http request error #14793 
@hunter-cloud09
+- **[Fix-14627]**[dolphinscheduler-ui] Fix there are too many child node in 
sub_process, it cannot to filter by keywords #14770 @chenshuai1995
+- **[Fix-14546]** seatunnel unable submit spark job to spark #14617 @Yhr-N
+- **[Fix]**Solve the deadlock problem caused by queuing #13191 @dahai1996
+- after a submit failure, stop the processInstance to avoid an endless loop 
#13051 @fuchanghai
+
+## Doc
+
+- doc: Classify docs to avoid misleading #15282 @zhongjiajie
+- [Docs] fix typo #15032 @liunaijie
+- Fix a typo in English development-environment-setup.md #14767 @wangzheyuan
+
+## 致谢贡献者
+
+非常感谢本次版本中所有贡献者的辛勤工作,特别鸣谢以下成员:zhanqian-1993、caishunfeng、liunaijie、HomminLee、zhuangchong、LiuCanWu、qingwli、zhangbaipeng、hunter-cloud09、chenshuai1995、fuchanghai、dahai1996、Yhr-N、zhongjiajie。
+
+## 特别感谢
+
+特别感谢本次版本的发版人 zhuangchong (Kerwin) 对于发布工作的巨大贡献。
+
+## 结语
+
+Apache DolphinScheduler 社区一直致力于打造一个稳定、高效、易于使用的工作流调度平台。我们期待您的持续关注和支持,共同推动 
Apache DolphinScheduler 项目的发展!
+
+*Apache DolphinScheduler 社区团队*
diff --git 
a/blog/zh-cn/Master_Quartz_Time_Management_and_Task_Scheduling_Expert_in_Java.md
 
b/blog/zh-cn/Master_Quartz_Time_Management_and_Task_Scheduling_Expert_in_Java.md
new file mode 100644
index 0000000000..c6a4c2ddc7
--- /dev/null
+++ 
b/blog/zh-cn/Master_Quartz_Time_Management_and_Task_Scheduling_Expert_in_Java.md
@@ -0,0 +1,164 @@
+---
+title: 精通Quartz:Java中的时间管理与任务调度专家
+keywords: Apache DolphinScheduler, Quartz, 任务调度
+description: 
Quartz的核心类和工作机制共同构成了一个高效且灵活的任务调度系统。尽管Quartz在设计上注重简洁和性能,但它的确切实现细节和架构选择显示出其在处理复杂任务调度场景中的强大能力。
+---
+
+Quartz,一个在Java应用中无可替代的时间管理与任务调度库,以其独特的功能和灵活性广受开发者青睐。得名于“石英”,Quartz不仅象征着时间的精确性,也体现了其在任务调度领域的核心地位。本文将深入剖析Quartz的内部工作原理和最佳实践,帮助开发者更好地理解和运用这一强大的库。
+
+![](/img/2023-12-25/1.png)
+
+## Quartz的核心特性
+
+### ![loading-ag-520](/img/2023-12-25/2.png)
+
+### 作为库的身份
+
+不同于独立部署的应用程序,Quartz以库(library)的形式存在,方便地嵌入到任何Java应用中。
+
+### 专为Java设计
+
+作为一个纯Java编写的库,Quartz专门服务于Java生态系统,与Java应用的集成无缝且高效。
+
+### 灵活的部署能力
+
+从单机应用到大型分布式系统,Quartz均能提供稳定的任务调度支持。
+
+### 低依赖性
+
+Quartz的设计注重独立性,几乎不依赖外部的框架或库,确保了其高度的自给自足。
+
+## Quartz的实现机制
+
+### 关键组件
+
+- **Job**: 表示任务本身,包括任务名称、组别及其具体执行逻辑。
+- **Trigger**: 定义任务触发规则,例如执行的频率和条件。
+- **Scheduler**: 调度器,负责安排和执行Job。
+
+### 使用流程
+
+![](/img/2023-12-25/3.png)
+
+1. **创建Scheduler**: 通过工厂方法初始化Scheduler实例。
+2. **配置任务**: 将Job与相应的Trigger配置到Scheduler中。
+3. **启动调度**: 激活Scheduler以开始任务的执行。
+
+### 特别提示
+
+尽管未启动的Scheduler不执行任务,但其内部线程仍会持续轮询,这是其设计上的一种谨慎考虑。
+
+## 与SpringBoot的集成
+
+在SpringBoot环境下,Quartz展现了更高的灵活性和便利性:
+
+- **参数传递方式**: 在Spring环境中,Quartz的Job不仅可以通过Map接收参数,还可以直接注入Spring容器管理的对象。
+- **任务调度灵活性**: 支持多种Trigger配置,可实现从简单到复杂的各类调度需求。
+
+总体而言,Quartz为Java应用带来了强大而灵活的任务调度能力,无论是简单的单次任务还是复杂的分布式定时任务,都能轻松应对。
+
+## 高级特性
+
+![](/img/2023-12-25/4.png)
+
+### Corn Trigger
+
+Quartz广泛应用的Corn 
Trigger允许通过Cron表达式定义复杂的调度规则,实现精细化的任务调度。这种灵活性使Quartz成为处理定时任务的首选工具。
+
+### 日历触发器
+
+除了Corn Trigger,Quartz还支持基于日历的触发器,提供更多样化的调度选项,满足特定时间安排的需求。
+
+### 触发器与作业依赖关系
+
+在Quartz中,触发器(Trigger)与作业(Job)的关系是核心设计。一种常见的设计模式是一对一关系,其中一个Trigger对应一个Job。这种设计简化了调度逻辑,并提高了容错能力。
+
+### 集群支持
+
+Quartz通过集群支持提升执行效率,尤其在大规模的应用场景中表现突出。集群模式允许多个应用实例共同参与任务调度,优化资源利用。
+
+## Quartz架构
+
+![](/img/2023-12-25/5.png)
+
+### 部署模型
+
+Quartz设计为嵌入式库,可以轻松集成到Java应用中。其核心依赖于作业存储(Job Store),并支持多实例部署。
+
+### 核心模块
+
+Quartz的代码结构简洁,主要由核心模块和少量扩展模块组成。核心模块不仅代码量适中,而且由专人维护,保证了代码质量和一致性。
+
+### 监听器
+
+Quartz提供两种类型的监听器:作业监听器和调度器监听器。这些监听器可以回调状态变化,如作业执行情况和调度器状态,为外部监控和日志记录提供便利。
+
+### 架构组件
+
+![](/img/2023-12-25/6.png)
+
+Quartz的架构可分为以下几个主要部分:
+
+- **监听器(Listeners)**: 用于监控作业和调度器的状态变化。
+- **调度器(Scheduler)**: 调度器是Quartz的心脏,负责任务调度和执行。
+- **触发器(Triggers)**: 定义任务的触发规则。
+- **作业(Jobs)**: 表示具体的任务实现。
+- **作业存储(Job Stores)**: 存储作业和触发器的信息。
+
+通过这些组件,Quartz能够提供灵活而强大的任务调度解决方案,适应从简单到复杂的各种业务场景。
+
+### 核心类
+
+#### QuartzSchedulerThread
+
+QuartzSchedulerThread是Quartz的心脏,负责轮询数据库,查找当前可执行的Trigger。由于数据库本身不会主动推送数据,Quartz采用拉取方法,即定期查询数据库以确定任务执行的时机。
+
+#### SimpleThreadPool
+
+SimpleThreadPool是Quartz的线程池实现,用于执行Job。与常见的线程池不同,它没有等待队列。线程池的大小直接决定了可以并行执行的任务数量。若所有线程都在忙,新的Trigger必须等待直到有空闲线程。
+
+### 工作机制
+
+#### 触发器与作业关系
+
+Quartz中,Trigger与Job的关系是一对一的。一个Trigger只能对应一个Job,而一个Job可以有多个Trigger。这种设计简化了调度过程,确保了系统的容错性。
+
+#### 集群模式
+
+Quartz的集群模式旨在提高任务执行效率。通过数据库锁,保证同一时刻只有一个实例可以访问特定Trigger。这种机制在系统规模庞大时显示其优势,通过集群部署,不同实例可以并行处理任务。
+
+#### 触发器状态处理
+
+Trigger状态的处理是Quartz调度过程中的关键环节。一旦Trigger被触发,它会被标记为“已获取(Acquired)”,并生成一个Trigger实例表示任务正在执行。任务完成后,该实例会被删除,从而无法追踪历史执行记录。
+
+### 调度流程
+
+#### 步骤1:触发器检索
+
+![](/img/2023-12-25/7.png)
+
+首先,Quartz会查询数据库,确定当前可执行的Trigger列表。这一步涉及到复杂的SQL查询,考虑到执行时间和状态。
+
+#### 步骤2:触发器处理
+
+![](/img/2023-12-25/8.png)
+
+处理步骤包括设置Trigger状态为“已获取”,并在数据库中创建相应的Trigger实例。
+
+#### 步骤3:任务执行
+
+![](/img/2023-12-25/9.png)
+
+将Trigger关联的Job提交到线程池进行执行。
+
+#### 步骤4:触发器实例清理
+
+![](/img/2023-12-25/10.png)
+
+任务执行完成后,对应的Trigger实例将被删除,这意味着无法从数据库中追溯任务的历史执行。
+
+## 总结
+
+Quartz的核心类和工作机制共同构成了一个高效且灵活的任务调度系统。尽管Quartz在设计上注重简洁和性能,但它的确切实现细节和架构选择显示出其在处理复杂任务调度场景中的强大能力。
+
+总的来说,Quartz作为Java中的时间管理与任务调度专家,提供了一套全面且高效的解决方案,以应对各种复杂的调度需求。其灵活的配置选项、与SpringBoot的无缝集成以及强大的集群支持,使其在Java应用中的任务调度领域独树一帜。对于希望提高应用效率、优化资源分配和扩展应用功能的Java开发者而言,掌握Quartz的使用无疑是提升开发能力的关键步骤。
\ No newline at end of file
diff --git a/config/blog/zh-cn/release.json b/config/blog/zh-cn/release.json
index 09084a0a6f..0e6fb5ca43 100644
--- a/config/blog/zh-cn/release.json
+++ b/config/blog/zh-cn/release.json
@@ -1,4 +1,10 @@
 {
+ 
"Apache_DolphinScheduler_3.1.9_version_released_improving_system_stability_and_performance":
 {
+    "title": "Apache DolphinScheduler 3.1.9 版本发布:提升系统的稳定性和性能!",
+    "author": "Niko Zeng",
+    "dateStr": "2024-01-04",
+    "desc": "此版本在 3.1.8 的基础上进行了关键的 bug 修复和文档更新,共计修复了 14 个 bug 和改进了 3 个文档。....."
+  }, 
  "Apache_DolphinScheduler_releases_version_3.2.0": {
     "title": "Apache DolphinScheduler 重磅发布3.2.0版本!",
     "author": "Niko Zeng",
diff --git a/config/blog/zh-cn/user.json b/config/blog/zh-cn/user.json
index a011968ef5..10c22f99da 100644
--- a/config/blog/zh-cn/user.json
+++ b/config/blog/zh-cn/user.json
@@ -1,6 +1,13 @@
 {
+"Master_Quartz_Time_Management_and_Task_Scheduling_Expert_in_Java": {
+      "title": "精通Quartz:Java中的时间管理与任务调度专家",
+      "author": "Niko Zeng",
+      "dateStr": "2023-12-25",
+      "desc": 
"Quartz的核心类和工作机制共同构成了一个高效且灵活的任务调度系统。尽管Quartz在设计上注重简洁和性能,但它的确切实现细节和架构选择显示出其在处理复杂任务调度场景中的强大能力。",
+      "img": "/img/2023-12-25/1.png"
+   },
 
"Apache_DolphinScheduler_community_won_the_2023_Outstanding_Open_Source_Technology_Team_award":
 {
-      "title": " Apache DolphinScheduler 社区荣获 2023 年度优秀开源技术团队 奖项",
+      "title": "Apache DolphinScheduler 社区荣获 2023 年度优秀开源技术团队 奖项",
       "author": "Niko Zeng",
       "dateStr": "2023-12-18",
       "desc": "```Apache DolphinScheduler 社区在 OSCHINA 平台的评选中荣获了“2023 
年度优秀开源技术团队”奖项...",

Reply via email to