1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-12 19:31:53 +00:00
srs/trunk
Winlin 0df81c3b34 Support HTTP-API for fetching reload result. v5.0.176 (#3779)
During a Reload, several stages will be passed through:
1. Parsing new configurations: Parse.
2. Transforming configurations: Transform.
3. Applying configurations: Apply.

Previously, any error at any stage would result in a direct exit, making
the system completely dependent on configuration checks:

```bash
./objs/srs -c conf/srs.conf -t
echo $?
```

Optimized to: If an error occurs before applying the configuration, it
can be ignored. If an error occurs during the application of the
configuration, some of the configuration may have already taken effect,
leading to unpredictable behavior, so SRS will exit directly.

Added a new HTTP API to query the result of the reload.

```nginx
http_api {
    enabled         on;
    raw_api {
        enabled on;
        allow_reload on;
    }
}
```

```bash
curl http://localhost:1985/api/v1/raw?rpc=reload-fetch
```

```json
{
  "code": 0,
  "data": {
    "err": 0,
    "msg": "Success",
    "state": 0,
    "rid": "0s6y0n9"
  }
}

{
  "code": 0,
  "data": {
    "err": 1023,
    "msg": "code=1023(ConfigInvalid) : parse file : parse buffer containers/conf/srs.release-local.conf : root parse : parse dir : parse include buffer containers/data/config/srs.vhost.conf : read token, line=0, state=0 : line 3: unexpected end of file, expecting ; or \"}\"",
    "state": 1,
    "rid": "0g4z471"
  }
}
```

This way, you can know if the last reload of the system was successful.

---------

Co-authored-by: Haibo Chen <495810242@qq.com>
2023-08-30 19:36:11 +08:00
..
3rdparty Upgrade jquery from 1.10.2 to 1.12.2 (#3571) 2023-06-30 06:29:50 +08:00
auto Bugfix: Eliminate the redundant declaration of the _srs_rtc_manager variable. v5.0.169 (#3699) 2023-07-26 20:17:23 +08:00
conf Support HTTP-API for fetching reload result. v5.0.176 (#3779) 2023-08-30 19:36:11 +08:00
doc Support HTTP-API for fetching reload result. v5.0.176 (#3779) 2023-08-30 19:36:11 +08:00
etc/init.d Squash: Fix bugs 2022-01-13 18:26:28 +08:00
gdb ST: Support show coroutines. 2020-12-10 11:36:24 +08:00
ide/srs_clion Disable CLS and APM by default. v5.0.101 2022-12-03 18:35:41 +08:00
modules Moduels: Refine the description 2021-04-21 11:18:35 +08:00
packaging Windows: Refine cygwin pipeline (#3260) 2022-11-21 14:32:26 +08:00
research Fix issue of srs-player failing to play HTTP-FLV. v5.0.165 2023-07-09 17:54:51 +08:00
scripts Package script support extra options. v5.0.102 2022-12-03 18:56:21 +08:00
src Support HTTP-API for fetching reload result. v5.0.176 (#3779) 2023-08-30 19:36:11 +08:00
usr/lib/systemd/system Squash: Support RPM. Fix bugs. 2021-11-04 07:37:17 +08:00
.gitignore For #2136: API: Cleanup no active streams for statistics. v5.0.42 2022-08-19 19:45:19 +08:00
AUTHORS.md Update new authors. 2022-12-31 12:22:05 +08:00
AUTHORS.txt Update AUTHORS 2021-08-25 07:43:35 +08:00
configure Support include empty config file. v5.0.173 (#3768) 2023-08-28 10:58:37 +08:00
Dockerfile.builds Disable CLS and APM by default. v5.0.101 2022-12-03 18:35:41 +08:00
Dockerfile.cov GB28181: Enable regression test for gb28181. v5.0.122 2022-12-31 19:36:49 +08:00
Dockerfile.pkg GB28181: Enable GB for CentOS 7 package. v5.0.103 2022-12-03 18:56:55 +08:00
Dockerfile.test GB28181: Enable regression test for gb28181. v5.0.122 2022-12-31 19:36:49 +08:00