mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-09-01 09:45:18 +00:00
move start_daemon code to main script
This commit is contained in:
parent
e6bbf22003
commit
489413d358
3 changed files with 31 additions and 37 deletions
44
electrum
44
electrum
|
@ -108,33 +108,49 @@ def print_help_cb(self, opt, value, parser):
|
||||||
|
|
||||||
|
|
||||||
def run_command(cmd, password=None, args=[]):
|
def run_command(cmd, password=None, args=[]):
|
||||||
import xmlrpclib, socket
|
import socket
|
||||||
cmd_runner = Commands(wallet, network)
|
|
||||||
func = getattr(cmd_runner, cmd.name)
|
|
||||||
cmd_runner.password = password
|
|
||||||
|
|
||||||
if cmd.requires_network and not options.offline:
|
if cmd.requires_network and not options.offline:
|
||||||
|
daemon_started = False
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
cmd_runner.network = NetworkProxy(config)
|
network = NetworkProxy(config)
|
||||||
cmd_runner.network.start()
|
|
||||||
break
|
break
|
||||||
except socket.error:
|
except socket.error:
|
||||||
if cmd.name != 'daemon':
|
if cmd != 'daemon':
|
||||||
print "Starting daemon [%s]"%config.get('server')
|
if not daemon_started:
|
||||||
start_daemon(config)
|
print "Starting daemon [%s]"%config.get('server')
|
||||||
|
daemon_started = True
|
||||||
|
pid = os.fork()
|
||||||
|
if (pid == 0): # The first child.
|
||||||
|
os.chdir("/")
|
||||||
|
os.setsid()
|
||||||
|
os.umask(0)
|
||||||
|
pid2 = os.fork()
|
||||||
|
if (pid2 == 0): # Second child
|
||||||
|
server = NetworkServer(config)
|
||||||
|
try:
|
||||||
|
server.main_loop()
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print "Ctrl C - Stopping server"
|
||||||
|
sys.exit(1)
|
||||||
|
sys.exit(0)
|
||||||
|
else:
|
||||||
|
time.sleep(0.1)
|
||||||
else:
|
else:
|
||||||
print "Daemon not running"
|
print "Daemon not running"
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
network = network
|
||||||
|
network.start()
|
||||||
if wallet:
|
if wallet:
|
||||||
wallet.start_threads(cmd_runner.network)
|
wallet.start_threads(network)
|
||||||
wallet.update()
|
wallet.update()
|
||||||
else:
|
else:
|
||||||
cmd_runner.network = None
|
network = None
|
||||||
|
|
||||||
|
|
||||||
|
cmd_runner = Commands(wallet, network)
|
||||||
|
func = getattr(cmd_runner, cmd.name)
|
||||||
|
cmd_runner.password = password
|
||||||
try:
|
try:
|
||||||
result = func(*args[1:])
|
result = func(*args[1:])
|
||||||
except Exception:
|
except Exception:
|
||||||
|
|
|
@ -14,4 +14,4 @@ from plugins import BasePlugin
|
||||||
from mnemonic import mn_encode as mnemonic_encode
|
from mnemonic import mn_encode as mnemonic_encode
|
||||||
from mnemonic import mn_decode as mnemonic_decode
|
from mnemonic import mn_decode as mnemonic_decode
|
||||||
from commands import Commands, known_commands
|
from commands import Commands, known_commands
|
||||||
from daemon import start_daemon, NetworkProxy
|
from daemon import NetworkProxy, NetworkServer
|
||||||
|
|
|
@ -295,28 +295,6 @@ class NetworkServer:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def start_daemon(config):
|
|
||||||
pid = os.fork()
|
|
||||||
if (pid == 0): # The first child.
|
|
||||||
os.chdir("/")
|
|
||||||
os.setsid()
|
|
||||||
os.umask(0)
|
|
||||||
pid2 = os.fork()
|
|
||||||
if (pid2 == 0): # Second child
|
|
||||||
server = NetworkServer(config)
|
|
||||||
try:
|
|
||||||
server.main_loop()
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
print "Ctrl C - Stopping server"
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
sys.exit(0)
|
|
||||||
|
|
||||||
# should use a signal
|
|
||||||
time.sleep(2)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
import simple_config
|
import simple_config
|
||||||
config = simple_config.SimpleConfig({'verbose':True, 'server':'ecdsa.net:50002:s'})
|
config = simple_config.SimpleConfig({'verbose':True, 'server':'ecdsa.net:50002:s'})
|
||||||
|
|
Loading…
Add table
Reference in a new issue