Sailsjs - 挂钩 orm 加载时间过长 - 模数
Sailsjs - Hook orm taking too long to load - Modulus
我使用 sails.js 制作了一个 nodejs 应用程序。它在我的本地主机上运行良好。当我尝试在服务器(模数)中发布它时,问题出现在生产中。你可以看看下面的错误。
Error: The hook `pubsub` is taking too long to load.
Make sure it is triggering its `initialize()` callback, or else set `sails.config.pubsub._hookTimeout to a higher value (currently 20000)
at tooLong [as _onTimeout] (/mnt/data/1/ApiDevConf-master/node_modules/sails/lib/app/private/loadHooks.js:92:21)
at Timer.listOnTimeout (timers.js:110:15) { [Error: The hook `pubsub` is taking too long to load.
Make sure it is triggering its `initialize()` callback, or else set `sails.config.pubsub._hookTimeout to a higher value (currently 20000)] code: 'E_HOOK_TIMEOUT' }
我试图找出解决问题的方法,但没有任何效果。我正在尝试这样的想法 here。
另外我已经正确设置了 NODE_ENV = production
感谢您的宝贵时间。
听起来这可能是两个问题之一。
1.) 您需要将 config/model.js
中的迁移设置设置为 alter
以外的设置。您应该在生产模式下打开 migrate: 'safe'
。如果 NODE_ENV 变量设置为 production
.
,这应该会自动发生
超时的原因是每次启动服务器时,Sails 都会尝试将现有数据迁移到当前模式。显然不希望在生产中使用它。
2.) 你有很多文件要加载,而 Modulus 从它的虚拟磁盘读取它们的速度很慢。这是一个更大的问题,因为每次需要重新启动服务器时都需要很长时间才能启动。您可以突破全局超时限制,这应该会给您更多时间。为此,请将以下内容添加到您的 config/env/production.js
文件中:
module.exports = {
hookTimeout: 40000
}
我使用 sails.js 制作了一个 nodejs 应用程序。它在我的本地主机上运行良好。当我尝试在服务器(模数)中发布它时,问题出现在生产中。你可以看看下面的错误。
Error: The hook `pubsub` is taking too long to load.
Make sure it is triggering its `initialize()` callback, or else set `sails.config.pubsub._hookTimeout to a higher value (currently 20000)
at tooLong [as _onTimeout] (/mnt/data/1/ApiDevConf-master/node_modules/sails/lib/app/private/loadHooks.js:92:21)
at Timer.listOnTimeout (timers.js:110:15) { [Error: The hook `pubsub` is taking too long to load.
Make sure it is triggering its `initialize()` callback, or else set `sails.config.pubsub._hookTimeout to a higher value (currently 20000)] code: 'E_HOOK_TIMEOUT' }
我试图找出解决问题的方法,但没有任何效果。我正在尝试这样的想法 here。
另外我已经正确设置了 NODE_ENV = production
感谢您的宝贵时间。
听起来这可能是两个问题之一。
1.) 您需要将 config/model.js
中的迁移设置设置为 alter
以外的设置。您应该在生产模式下打开 migrate: 'safe'
。如果 NODE_ENV 变量设置为 production
.
超时的原因是每次启动服务器时,Sails 都会尝试将现有数据迁移到当前模式。显然不希望在生产中使用它。
2.) 你有很多文件要加载,而 Modulus 从它的虚拟磁盘读取它们的速度很慢。这是一个更大的问题,因为每次需要重新启动服务器时都需要很长时间才能启动。您可以突破全局超时限制,这应该会给您更多时间。为此,请将以下内容添加到您的 config/env/production.js
文件中:
module.exports = {
hookTimeout: 40000
}