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 urllib2
|
||||||
import logging
|
import logging
|
||||||
import signal
|
import signal
|
||||||
|
import time
|
||||||
|
|
||||||
from xml.etree import cElementTree as ET
|
from xml.etree import cElementTree as ET
|
||||||
|
|
||||||
@ -600,15 +601,19 @@ class CommandlineInterface(cmdln.Cmdln):
|
|||||||
logger.error(e)
|
logger.error(e)
|
||||||
|
|
||||||
if opts.interval:
|
if opts.interval:
|
||||||
logger.info("sleeping %d minutes. Press enter to check now ..."%opts.interval)
|
if os.isatty(0):
|
||||||
signal.alarm(opts.interval*60)
|
logger.info("sleeping %d minutes. Press enter to check now ..."%opts.interval)
|
||||||
try:
|
signal.alarm(opts.interval*60)
|
||||||
raw_input()
|
try:
|
||||||
except ExTimeout:
|
raw_input()
|
||||||
pass
|
except ExTimeout:
|
||||||
signal.alarm(0)
|
pass
|
||||||
logger.info("recheck at %s"%datetime.datetime.now().isoformat())
|
signal.alarm(0)
|
||||||
continue
|
logger.info("recheck at %s"%datetime.datetime.now().isoformat())
|
||||||
|
continue
|
||||||
|
else:
|
||||||
|
logger.info("sleeping %d minutes."%opts.interval)
|
||||||
|
time.sleep(opts.interval*60)
|
||||||
break
|
break
|
||||||
|
|
||||||
def do_release(self, subcmd, opts, project = 'Factory'):
|
def do_release(self, subcmd, opts, project = 'Factory'):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user