Мой легкий веб-сервер на основе dart:io
выглядит примерно так:
import 'dart:io';
void main() {
HttpServer.bind(InternetAddress.ANY_IP_V4, 80).then((server) {
server.listen((HttpRequest request) {
// ... do stuff...
request.response.write('Alright, here is your response...');
request.response.close();
});
});
print("listing....");
}
Запустим его (на Ubuntu Server 1.04):
$ nohup dart myServer.dart &
Listening...
Пока все выглядит хорошо. Я могу выйти из своей оболочки, и она продолжает служить. Однако, если что-то пойдет не так, например. выбрасывается необработанное исключение - процесс Dart завершается.
Любые рекомендации, как контролировать процесс Dart и перезапускать его при необходимости? Думаю, я мог бы написать для этого простой скрипт, просто интересно, есть ли лучший/рекомендуемый способ?
(Хостинг в Apache через mod_dart может быть вариантом — хотя это кажется излишним, а текущая версия нестабильна. )