update bonus doc
This commit is contained in:
32
bonus.md
32
bonus.md
@ -80,7 +80,7 @@
|
||||
|
||||
## 管理系统
|
||||
|
||||
### GUI 前端 *(1%)*
|
||||
### GUI 前端 *(0.9%)*
|
||||
|
||||
提供一个用户友好的图形化前端(Qt、Gtk、Web、Tcl/Tk 等均可)。基本要求为:
|
||||
|
||||
@ -90,3 +90,33 @@
|
||||
- (可选)提供更方便的操作,如查询后提供一键订票等。
|
||||
|
||||
**注意:** 准备尝试此任务的同学请务必与助教联系并讨论自己的实现思路。
|
||||
|
||||
关于用户友好,这里有一些具体的要求:
|
||||
- 查询车票后可以直接点击购票;
|
||||
- 尽可能减少用户需要输入的内容;
|
||||
- 除了对于普通用户友好,对于工作人员也要有友好的操作界面;
|
||||
|
||||
|
||||
对于使用 Web 方式完成的前端(包括使用Vue、React、Bootstrap、Electron 等框架),需要满足以下要求:
|
||||
|
||||
- 在不同电脑上应该可以同时运行多个前端(网页)并连接到同一后端(服务器),不会相互干扰,模拟现实情况下多用户场景;
|
||||
- Web服务崩溃不能影响后端数据服务的正常运行;
|
||||
- 设计合理的方式来关闭或重启Web前端服务器或后端数据服务器,而不是手动 kill 进程或者 Ctrl+C,并保证处理完成已接收到的指令,完成数据的保存。可以参考 `nginx -s restart`。
|
||||
- ~~不得使用 TesutoHime 作为模板~~
|
||||
|
||||
### 守护进程 *(0.1%)*
|
||||
|
||||
完成此任务需要先完成前置任务 GUI前端。
|
||||
|
||||
对于服务器来说,保证服务的稳定性是非常重要的。
|
||||
|
||||
在现代的linux系统中,可以很容易地使用 systemd 等工具来管理服务,完成开机自动启动、崩溃自动重启、定时执行等任务。
|
||||
|
||||
在本任务中,你需要通过两个途径实现下面的几个功能:
|
||||
- 在同一个数据目录下,能且仅能运行一个程序实例;
|
||||
- 当程序崩溃时,能自动重启;
|
||||
- 接受信号,如 `SIGTERM` 时,能够优雅关闭当前的程序实例。
|
||||
|
||||
途径分别是:
|
||||
1. 在现代的linux中,已经有一些工具(发行版相关)为我们提供了相关功能,如 systemd。为你的程序编写 systemd service 文件,完成上面的功能。你也可以考虑使用其他的工具。
|
||||
2. 手动实现一个简单的守护进程。参考 `fork` 等系统调用。
|
||||
|
Reference in New Issue
Block a user