Require package:angel_production
This commit is contained in:
parent
4369c52a28
commit
de1d0c6dd0
2 changed files with 3 additions and 45 deletions
|
@ -1,47 +1,4 @@
|
||||||
import 'dart:io';
|
|
||||||
import 'dart:isolate';
|
|
||||||
import 'package:angel/angel.dart';
|
import 'package:angel/angel.dart';
|
||||||
import 'package:angel_framework/angel_framework.dart';
|
import 'package:angel_production/angel_production.dart';
|
||||||
import 'package:logging/logging.dart';
|
|
||||||
|
|
||||||
const String hostname = '127.0.0.1';
|
main(List<String> args) => new Runner('angel', configureServer).run(args);
|
||||||
const int port = 3000;
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
// Start a server instance in multiple isolates.
|
|
||||||
|
|
||||||
for (int id = 0; id < Platform.numberOfProcessors; id++)
|
|
||||||
Isolate.spawn(isolateMain, id);
|
|
||||||
|
|
||||||
isolateMain(Platform.numberOfProcessors);
|
|
||||||
}
|
|
||||||
|
|
||||||
void isolateMain(int id) {
|
|
||||||
var app = new Angel();
|
|
||||||
|
|
||||||
app.configure(configureServer).then((_) async {
|
|
||||||
// In production, we'll want to log errors to a file.
|
|
||||||
// Alternatives include sending logs to a service like Sentry.
|
|
||||||
hierarchicalLoggingEnabled = true;
|
|
||||||
app.logger = new Logger('angel')
|
|
||||||
..onRecord.listen((rec) {
|
|
||||||
if (rec.error == null) {
|
|
||||||
stdout.writeln(rec);
|
|
||||||
} else {
|
|
||||||
var err = rec.error;
|
|
||||||
if (err is AngelHttpException && err.statusCode != 500) return;
|
|
||||||
var sink = stderr;
|
|
||||||
sink..writeln(rec)..writeln(rec.error)..writeln(rec.stackTrace);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Passing `startShared` to the constructor allows us to start multiple
|
|
||||||
// instances of our application concurrently, listening on a single port.
|
|
||||||
//
|
|
||||||
// This effectively lets us multi-thread the application.
|
|
||||||
var http = new AngelHttp.custom(app, startShared);
|
|
||||||
var server = await http.startServer(hostname, port);
|
|
||||||
print(
|
|
||||||
'Instance #$id listening at http://${server.address.address}:${server.port}');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ dependencies:
|
||||||
#angel_cors: ^1.0.0 # CORS support
|
#angel_cors: ^1.0.0 # CORS support
|
||||||
angel_framework: ^2.0.0-alpha # The core server library.
|
angel_framework: ^2.0.0-alpha # The core server library.
|
||||||
#angel_jael: ^1.0.0 # Server-side templating engine
|
#angel_jael: ^1.0.0 # Server-side templating engine
|
||||||
|
angel_production: ^1.0.0-alpha
|
||||||
angel_static: ^2.0.0-alpha # Static file server
|
angel_static: ^2.0.0-alpha # Static file server
|
||||||
angel_validate: ^2.0.0-alpha # Allows for validation of input data
|
angel_validate: ^2.0.0-alpha # Allows for validation of input data
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
|
|
Loading…
Reference in a new issue