support uvicorn reload functionality (#1841)
* support uvicorn reload functionality see: https://github.com/encode/uvicorn/blob/8239373ec649b1a41179070b6ba2c8dc549df63e/uvicorn/main.py#L580-L582 * add docs for --reload --------- Co-authored-by: dni ⚡ <office@dnilabs.com>
This commit is contained in:
@@ -36,6 +36,9 @@ checkblack:
|
|||||||
checkisort:
|
checkisort:
|
||||||
poetry run isort --check-only .
|
poetry run isort --check-only .
|
||||||
|
|
||||||
|
dev:
|
||||||
|
poetry run lnbits --reload
|
||||||
|
|
||||||
test:
|
test:
|
||||||
LNBITS_BACKEND_WALLET_CLASS="FakeWallet" \
|
LNBITS_BACKEND_WALLET_CLASS="FakeWallet" \
|
||||||
FAKE_WALLET_SECRET="ToTheMoon1" \
|
FAKE_WALLET_SECRET="ToTheMoon1" \
|
||||||
|
|||||||
@@ -12,6 +12,21 @@ For developers
|
|||||||
Thanks for contributing :)
|
Thanks for contributing :)
|
||||||
|
|
||||||
|
|
||||||
|
Run
|
||||||
|
=====
|
||||||
|
|
||||||
|
This starts the lnbits uvicorn server
|
||||||
|
```bash
|
||||||
|
poetry run lnbits
|
||||||
|
```
|
||||||
|
|
||||||
|
This starts the lnbits uvicorn with hot reloading.
|
||||||
|
```bash
|
||||||
|
make dev
|
||||||
|
# or
|
||||||
|
poetry run lnbits --reload
|
||||||
|
```
|
||||||
|
|
||||||
Precommit hooks
|
Precommit hooks
|
||||||
=====
|
=====
|
||||||
|
|
||||||
|
|||||||
+9
-1
@@ -1,4 +1,5 @@
|
|||||||
import uvloop
|
import uvloop
|
||||||
|
from uvicorn.supervisors import ChangeReload
|
||||||
|
|
||||||
uvloop.install()
|
uvloop.install()
|
||||||
|
|
||||||
@@ -73,7 +74,14 @@ def main(
|
|||||||
)
|
)
|
||||||
|
|
||||||
server = uvicorn.Server(config=config)
|
server = uvicorn.Server(config=config)
|
||||||
process = mp.Process(target=server.run)
|
|
||||||
|
if config.should_reload:
|
||||||
|
sock = config.bind_socket()
|
||||||
|
run = ChangeReload(config, target=server.run, sockets=[sock]).run
|
||||||
|
else:
|
||||||
|
run = server.run
|
||||||
|
|
||||||
|
process = mp.Process(target=run)
|
||||||
process.start()
|
process.start()
|
||||||
server_restart.wait()
|
server_restart.wait()
|
||||||
server_restart.clear()
|
server_restart.clear()
|
||||||
|
|||||||
Reference in New Issue
Block a user