2016-07-22 3 views
0

В пользовательском сценарии я поднимаю паруса, делая некоторые вещи, а затем вызываю .lower(), но приложение не останавливается. Ошибка не возвращается ...Приложение Sails не опускается

const Sails = require('sails') 
    , rc = require('rc'); 

function run() { 
    Sails.lift(rc('sails', {process: 'manual'}), (err, server)=> { 
    if (err) { 
     console.error(err); 
    } 

    // ... do some stuff 

     Sails.lower({}, (err)=> { 
     console.log('ERROR', err); 
     return true; 
     }); 
    }); 
    }); 
} 

Приложение просто продолжает работать. Ошибка не возвращается с .lower() и по умолчанию она не имеет результата обратного вызова. Я отлаживал файл lower.js и выяснял, что этот код даже не достигнут ...

Я думаю, проблема в том, что lower() возвращает обратный вызов, но мой скрипт не принимает его, поэтому как мне управлять Это дело?

+0

Надеюсь, вы звоните только по ошибке. Попробуйте добавить console.log для проверки после опускания. OR Добавить паруса Обратный вызов для проверки при завершении опускания. – Thennarasan

+0

@Thennarasan, я обновил сообщение. – Milkncookiez

ответ

1

Итак, на самом деле приложение опускалось, и все службы (HTTP, сокет и т. Д.) Были закрыты, но сам процесс продолжал работать. process.exit() было решением. Итак, я сначала изящно опускаю все службы, а затем завершаю процесс:

 Sails.lower({}, (err) => { 
     if (err) { 
      log.error('An error occurred while shutting the server down.'); 
     } 
     process.exit(); 
     }); 
Смежные вопросы