actionhero Initializer的优先级

actionhero 的Initializer 是包含了优先级的,对于一些场景下我们是需要关注的

参考定义

src/classes/initializer.ts

export abstract class Initializer {
  /**The name of the Initializer. */
  name: string;
  /**What order should this Initializer load at (Default: 1000, Actionhero core methods are < 1000) */
  loadPriority?: number;
  /**What order should this Initializer start at (Default: 1000, Actionhero core methods are < 1000) */
  startPriority?: number;
  /**What order should this Initializer stop at (Default: 1000, Actionhero core methods are < 1000) */
  stopPriority?: number;
 
  constructor() {
    this.name = null;
    this.loadPriority = 1000;
    this.startPriority = 1000;
    this.stopPriority = 1000;
  }

启动以及停止使用

src/classes/process.ts

 if (!loadInitializerRankings[initializer.loadPriority]) {
          loadInitializerRankings[initializer.loadPriority] = [];
        }
        if (!startInitializerRankings[initializer.startPriority]) {
          startInitializerRankings[initializer.startPriority] = [];
        }
        if (!stopInitializerRankings[initializer.stopPriority]) {
          stopInitializerRankings[initializer.stopPriority] = [];
        }
 
        if (initializer.loadPriority > 0) {
          loadInitializerRankings[initializer.loadPriority].push(
            initializeFunction
          );
        }
        if (initializer.startPriority > 0) {
          startInitializerRankings[initializer.startPriority].push(
            startFunction
          );
        }
        if (initializer.stopPriority > 0) {
          stopInitializerRankings[initializer.stopPriority].push(stopFunction);
        }

说明

actionhero Initializer 的优先级还是比较重要的,比如开发了好多,有些是有依赖关系的,如果阅读actionhero源码的话也会
发现不少使用此定义的,比如chatroom的

 
export class ChatRoomInitializer extends Initializer {
  constructor() {
    super();
    this.name = "chatRoom";
    this.loadPriority = 520;
    this.startPriority = 200;
  }
 
 

posted on   荣锋亮  阅读(33)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-02-05 dremio 中文查询问题解决
2021-02-05 nodejs 几个不错的文件系统抽象包
2020-02-05 pgspider 其他扩展的集成
2020-02-05 pgspider 简单试用
2020-02-05 pgspider sqlite mysql docker 镜像
2019-02-05 100 webhook implementations
2019-02-05 streamdataio 实时数据分发平台

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示