Como posso forçar um aplicativo node.js a reaparecer após a conexão do banco de dados ser interrompida?

1

Eu uso para sempre para executar minha plataforma de blog do Ghost sobre o node.js. Pelo que entendi, sempre deve prestar atenção para o nó para soltar e reiniciá-lo automaticamente. No entanto, se eu tirar o banco de dados do aplicativo, ele não será recuperado como esperado quando o banco de dados ficar disponível novamente. Registros seguem:

r31c.log:Error: Connection lost: The server closed the connection.
r31c.log:error: Forever detected script exited with code: 8
r31c.log:error: Forever restarting script for 1 time
r31c.log:ERROR: connect ECONNREFUSED, sql: create table 'posts' ('id' int(11) unsigned  
                not null not null auto_increment primary key, 'uuid' varchar(36) not   
                null, 'title' varchar(150) not null, 'slug' varchar(150) not null, 
                'markdown' text, 'html' text, 'image' text, 'featured' tinyint(1) not 
                null default '0', 'page' tinyint(1) not null default '0', 'status' 
                varchar(150) not null default 'draft', 'language' varchar(6) not null 
                default 'en_US', 'meta_title' varchar(150), 'meta_description' 
                varchar(200), 'author_id' int(11) not null, 'created_at' datetime not 
                null, 'created_by' int(11) not null, 'updated_at' datetime, 
                'updated_by' int(11), 'published_at' datetime, 'published_by' int(11)) 
                default character set utf8,alter table 'posts' add unique 
                posts_slug_unique('slug'), bindings: 
r31c.log:error: Forever detected script was killed by signal: null
r31c.log:          throw arguments[1]; // Unhandled 'error' event
r31c.log:Error: Cannot stop process that is not running.
    
por Chris Jones 07.02.2014 / 07:44

1 resposta

2

Em ambientes de produção, sugiro strongmente que você tente usar Passenger Standalone em vez de para sempre, para aumentar a robustez e a confiabilidade das instâncias:

link

Se você ainda quiser usar para sempre, você pode fazer um patch com scripts, verificando se uma instância definitiva está ativa e, se estiver desativada, inicie-a.

Verificar a conexão com o banco de dados deve ser uma questão de aplicação.

    
por 19.02.2014 / 18:11

Tags