如何让Dart在服务器中运行单独的进程?
例如,下面是一个简单的dart代码:如何让Dart在服务器中运行单独的进程?,dart,Dart,例如,下面是一个简单的dart代码: #import('dart:io'); main() { var server = new HttpServer(); server.listen('127.0.0.1', 8080); server.defaultRequestHandler = (HttpRequest request, HttpResponse response) { response.outputStream.write('Hello, world'.charC
#import('dart:io');
main() {
var server = new HttpServer();
server.listen('127.0.0.1', 8080);
server.defaultRequestHandler = (HttpRequest request, HttpResponse response) {
response.outputStream.write('Hello, world'.charCodes());
response.outputStream.close();
};
}
当web服务器打印“Hello,world”时,我想运行一个进程来运行
长期繁重的任务,但不希望它阻碍当前进程。我能知道怎么处理吗?谢谢
我尝试了
进程。运行和进程。启动但没有成功 从你的评论中,我可以看出人们对Dart如何产生外部进程存在误解。当您在Dart中生成一个进程时,它在默认情况下正在运行,因此Dart程序和外部程序是分开运行的(因此在不同的进程中),Dart程序可以执行其他内容。然后,您可以等待程序的结果(例如,当程序关闭时)
因此,以“&”作为参数运行进程没有多大意义(我想这是试图告诉它应该与Dart程序分开运行)
但是,由于您正在生成另一个DART程序,还应该考虑使用一个隔离体,它可以在另一个线程上执行您自己的方法,或者使用以下代码运行外部代码:
您能否展示一下您是如何尝试使用进程的。运行和进程。启动?它应该可以工作,但可能您做错了什么。Process.start('dart',['./lib/src/service/AnalysisFile.dart','&')//失败,在我的过程结束后。Process.runSync('dart',['./lib/src/service/AnalysisFile.dart','&',runInShell:true)//好啊