2016-04-14 6 views
0

Ich habe Stunden damit verbracht, dies zu lösen, während ich auf der Suche nach ähnlichen Problemen, aber ohne Glück, so kam ich zu dem Schluss, nur eine Frage hier zu posten.Schluckwacht Aufgabe wirft EBUSY Fehler während mongod Prozess läuft

Ich entwickle ein Backend für eine Webanwendung, in der ich MongoDB für Datenpersistenz verwende. Ich benutze Gulp und habe eine Überwachungsaufgabe, die nach Änderungen in js-Dateien Ausschau hält. Ich benutze auch browsersync. Wenn ich also Schluck im Terminal starte, wird die Web-App automatisch im Browser geladen. Bevor ich den Schluck starte, starte ich den mongod-Prozess mit dem Befehl "mongod --dbpath". So weit, so gut und keine Probleme.

Aber als ich dann schluck laufen, die Uhr Aufgabe löst eine EBUSY Fehler:

Fehler: EBUSY: Ressource besetzt ist oder gesperrt, scandir ‚H: \ source \ app \ server \ db \ mongoDbDir \ mongod. sperren‘

Das ist mein schluck Aufgabe ist:

gulp.task('watch:server', ['server:start'], function() { 
var config = require('../../../config')().watch.server; 

console.log('CALLING GULP WATCH'); 
gulp.watch(config.scripts, ['server:restart']); // throws the error 

});

Die config.scripts beziehen sich nur auf js-Dateien in einigen Ordnern (einschließlich des mongo db-Pfadverzeichnisses, obwohl hier keine js-Dateien vorhanden sind). Die anderen Aufgaben laufen, sind:

// run server 
gulp.task('server:start', ['build:server'], function() { 
    var config = require('../../../config')().entrypoint.server; 
    server.listen({path: config.source, execArgv: ['--debug=5859']}); 
}); 

und

// restart server if entrypoint changed 
gulp.task('server:restart', ['typescript:server'], function() { 
    server.restart(); 
}); 

Der "Server" verwendet, hier ist ein Knoten Js-Modul aus dem Zug-Entwicklung-Server-Modul. Und der Fehler ich auf diesem Bild gezeigt:

Error shown in WebStorm Ide's terminal when running gulp

ich dies fand: Grunt Serve watch throws EBUSY warning over mongod.lock

Die für Grunt war, obwohl, aber ich versuchte, den Weg zu meinem MongoDB in der zu ignorieren Watch Task und es hat nicht geholfen.

Ich bin wirklich hier stecken und ich kann die Web-App nicht verwenden, solange dieser Fehler da ist, weil der Entwicklungsserver auf nichts reagieren wird.

Kann mir jemand dabei helfen?

Antwort

1

Okay, einer meiner Teamkollegen hat das tatsächlich gelöst. Der Fehler war, dass ich meinen DB-Pfad in meinem Quellcode hatte, welcher Schluck beobachtete. Also die mongo db auf den Standard C: \ data \ db verschieben und dann einfach "mongod" ohne den dbpath laufen lassen, war die Lösung!

Verwandte Themen