mirror of
https://github.com/spl0k/supysonic.git
synced 2024-12-23 01:16:18 +00:00
Dropped python-daemon and its daemon-runner wrapper
This makes the watcher persisting with the terminal, breaking installs using it as a initd/sysV daemon. The watcher currently doesn't print anything on standard output or standard error. Closes #39, #72
This commit is contained in:
parent
81609be7ce
commit
62bcce331a
13
README.md
13
README.md
@ -30,7 +30,7 @@ For more details, go check the [API implementation status][api].
|
|||||||
* [Transcoding](#transcoding)
|
* [Transcoding](#transcoding)
|
||||||
* [Command line interface](#command-line-interface)
|
* [Command line interface](#command-line-interface)
|
||||||
* [Quickstart](#quickstart)
|
* [Quickstart](#quickstart)
|
||||||
* [Scanner daemon](#scanner-daemon)
|
* [Watching library changes](#watching-library-changes)
|
||||||
* [Upgrading](#upgrading)
|
* [Upgrading](#upgrading)
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
@ -353,12 +353,15 @@ Once you've added a folder, you will need to scan it:
|
|||||||
|
|
||||||
You should now be able to enjoy your music with the client of your choice!
|
You should now be able to enjoy your music with the client of your choice!
|
||||||
|
|
||||||
## Scanner daemon
|
## Watching library changes
|
||||||
|
|
||||||
Instead of manually running a scan every time your library changes, you can
|
Instead of manually running a scan every time your library changes, you can
|
||||||
run a daemon that will listen to any library change and update the database
|
run a watcher that will listen to any library change and update the database
|
||||||
accordingly. The daemon is `bin/supysonic-watcher` and can be run as an
|
accordingly.
|
||||||
*init.d* script.
|
The watcher is `bin/supysonic-watcher`, it is a non-exiting process and doesn't
|
||||||
|
print anything to stdout nor stderr. If you want to keep it running in
|
||||||
|
background, either use the old `nohup` or `screen` methods, or start it as a
|
||||||
|
simple systemd unit (unit file not included).
|
||||||
|
|
||||||
## Upgrading
|
## Upgrading
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
# This file is part of Supysonic.
|
# This file is part of Supysonic.
|
||||||
#
|
#
|
||||||
# Supysonic is a Python implementation of the Subsonic server API.
|
# Supysonic is a Python implementation of the Subsonic server API.
|
||||||
# Copyright (C) 2014 Alban 'spl0k' Féron
|
# Copyright (C) 2014-2017 Alban 'spl0k' Féron
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Affero General Public License as published by
|
# it under the terms of the GNU Affero General Public License as published by
|
||||||
@ -19,16 +19,9 @@
|
|||||||
# You should have received a copy of the GNU Affero General Public License
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
from daemon.runner import DaemonRunner
|
|
||||||
from supysonic.watcher import SupysonicWatcher
|
from supysonic.watcher import SupysonicWatcher
|
||||||
|
|
||||||
watcher = SupysonicWatcher()
|
if __name__ == "__main__":
|
||||||
watcher.stdin_path = '/dev/null'
|
watcher = SupysonicWatcher()
|
||||||
watcher.stdout_path = '/dev/tty'
|
watcher.run()
|
||||||
watcher.stderr_path = '/dev/tty'
|
|
||||||
watcher.pidfile_path = '/tmp/supysonic-watcher.pid'
|
|
||||||
watcher.pidfile_timeout = 5
|
|
||||||
|
|
||||||
daemon_runner = DaemonRunner(watcher)
|
|
||||||
daemon_runner.do_action()
|
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
# This file is part of Supysonic.
|
# This file is part of Supysonic.
|
||||||
#
|
#
|
||||||
# Supysonic is a Python implementation of the Subsonic server API.
|
# Supysonic is a Python implementation of the Subsonic server API.
|
||||||
# Copyright (C) 2014 Alban 'spl0k' Féron
|
# Copyright (C) 2014-2017 Alban 'spl0k' Féron
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Affero General Public License as published by
|
# it under the terms of the GNU Affero General Public License as published by
|
||||||
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
import time
|
import time
|
||||||
import logging
|
import logging
|
||||||
from signal import signal, SIGTERM
|
from signal import signal, SIGTERM, SIGINT
|
||||||
from threading import Thread, Condition, Timer
|
from threading import Thread, Condition, Timer
|
||||||
from logging.handlers import TimedRotatingFileHandler
|
from logging.handlers import TimedRotatingFileHandler
|
||||||
from watchdog.observers import Observer
|
from watchdog.observers import Observer
|
||||||
@ -241,6 +241,7 @@ class SupysonicWatcher(object):
|
|||||||
|
|
||||||
store.close()
|
store.close()
|
||||||
signal(SIGTERM, self.__terminate)
|
signal(SIGTERM, self.__terminate)
|
||||||
|
signal(SIGINT, self.__terminate)
|
||||||
|
|
||||||
self.__running = True
|
self.__running = True
|
||||||
queue.start()
|
queue.start()
|
||||||
|
Loading…
Reference in New Issue
Block a user