如何让 jolie 服务保持 运行?

How to keep the jolie service up an running?

我有一个词汇表服务(jolie 服务),它根据输入的术语提供定义。我以通常的方式启动此服务:

jolie ./Glossary.ol

问题是服务会在第一个请求被处理后立即退出。要获取另一个术语的定义,我需要重新启动服务。

如何保留服务 运行?一旦我这样做了,停止服务的选项是什么(Ctrl+C 除外)?

您可以使用 concurrent execution 模态、保护选择(语法 [ input ]{ post-response code }exit 指令。 这是一个简单的示例(为简洁起见省略了导入、端口和服务)。

// client.ol
main {
  for( i=0, i<10, nullProcess ){
    inc@server( i )( i )
    println@Console( i )()
  }
  shutdown@server()()
}
// server.ol
execution{ concurrent }

main {
  [ inc( i )( i ){
    println@Console( "received " + i + ", sending " + ++i )()
  } ]
  [ shutdown()() ]{ exit }
}