ttm: Allow to run in daemon mode without stdin attached
When running as a systemd daemon, it is useless to wait for user input to possible trigger an earlier re-run. Interaction is not possible. Additionally, there is no stdin assigned to the process when running as a systemd daemon, which results in raw_input() failing with EOFError
This commit is contained in:
parent
95e5a75a0e
commit
331903b74b
@ -16,6 +16,7 @@ import sys
|
||||
import urllib2
|
||||
import logging
|
||||
import signal
|
||||
import time
|
||||
|
||||
from xml.etree import cElementTree as ET
|
||||
|
||||
@ -600,15 +601,19 @@ class CommandlineInterface(cmdln.Cmdln):
|
||||
logger.error(e)
|
||||
|
||||
if opts.interval:
|
||||
logger.info("sleeping %d minutes. Press enter to check now ..."%opts.interval)
|
||||
signal.alarm(opts.interval*60)
|
||||
try:
|
||||
raw_input()
|
||||
except ExTimeout:
|
||||
pass
|
||||
signal.alarm(0)
|
||||
logger.info("recheck at %s"%datetime.datetime.now().isoformat())
|
||||
continue
|
||||
if os.isatty(0):
|
||||
logger.info("sleeping %d minutes. Press enter to check now ..."%opts.interval)
|
||||
signal.alarm(opts.interval*60)
|
||||
try:
|
||||
raw_input()
|
||||
except ExTimeout:
|
||||
pass
|
||||
signal.alarm(0)
|
||||
logger.info("recheck at %s"%datetime.datetime.now().isoformat())
|
||||
continue
|
||||
else:
|
||||
logger.info("sleeping %d minutes."%opts.interval)
|
||||
time.sleep(opts.interval*60)
|
||||
break
|
||||
|
||||
def do_release(self, subcmd, opts, project = 'Factory'):
|
||||
|
Loading…
x
Reference in New Issue
Block a user