the hook orm taking too long to load

前端 未结 8 1791
悲&欢浪女
悲&欢浪女 2020-12-05 14:17

i am using two database adapters with sails.

one for mondoDB and second for mysql.whenever i run command \"sails lift\".once it gives an error

error         


        
相关标签:
8条回答
  • 2020-12-05 14:40

    Go to models.js file and uncomment migrate: 'alter'

    0 讨论(0)
  • 2020-12-05 14:43

    You can also try to add defaults: { timeout: 30000 } to your hook Reference: https://sailsjs.com/documentation/concepts/extending-sails/hooks/hook-specification/defaults

    0 讨论(0)
  • 2020-12-05 14:52

    I ran into this problem last night because of a slow internet connection between my laptop and the DB server. My solution was to create a new file in the config directory called orm.js (name doesn't really matter).

    Then add the following code:

    // config/orm.js
    module.exports.orm = {
      _hookTimeout: 60000 // I used 60 seconds as my new timeout
    };
    

    I also found I had to change my pubsub timeout but that may not be necessary for you.

    // config/pubsub.js
    module.exports.pubsub = {
      _hookTimeout: 60000 // I used 60 seconds as my new timeout
    };
    

    Note: The other answer recommends changing the sails files inside the node_modules folder. This is almost always a bad idea because any npm update could revert your changes.

    0 讨论(0)
  • 2020-12-05 14:56

    while running sails lift run this command in the command line sails lift hookTimeout=75000

    0 讨论(0)
  • 2020-12-05 14:57

    There are two ways, which we can probably call them as:

    1- System-wide method: (as @arcseldon has told)

    Try to add the hookTimeout key to the project's config/env/development.js or config/env/production.js file. Next almost all the hooks (except some hooks, such as moduleloader) will retrieve the timeout value and consider it for themeselves.

    2- Hook specific method: (as @davepreston has told)

    create a [module-name].js file in the project's config folder and add _hookTimeout key to it. So, it will lead into assigning the timeout value only to that specific module. (Be careful about the specific json structure for the sails config files.)

    0 讨论(0)
  • 2020-12-05 14:57

    Go to you node_modules folder and browse to \sails\lib\app\private

    In your case you should go to this folder: C:\Users\KAMI\AppData\Roaming\npm\node_modules\sails\lib\app\private

    Then open the file named loadHooks.js and go to the line that says:

    var timeoutInterval = (sails.config[hooks[id].configKey || id] && sails.config[hooks[id].configKey || id]._hookTimeout) || sails.config.hookTimeout || 20000;
    

    Change the last value in this line from 20000 to some higher value and save the file then run your application by "sails lift" as you normally do

    NB: you may need to try out a few higher values instead of 20000 until you reach a value that works for you. My application successfully lifted when I changed the value to 50000

    0 讨论(0)
提交回复
热议问题