Ticket #4762 enhancement new

Opened 3 years ago

give me a good error message and exit without daemonizing when an IService can't start up

Reported by: glyph Owned by:
Priority: normal Milestone:
Component: core Keywords:
Cc: Branch:
Author: Launchpad Bug:

Description

The canonical use-case is a port which cannot be bound.

Right now, there is some accidental behavior where, sometimes, you'll get a traceback on stderr before twistd starts up, but other times it will just daemonize and then exit (or just log a traceback and not exit). In no case does the user get a simple, helpful error message telling them what they need to change in order to get things to start up properly.

IService / MultiService / twistd should collaborate to provide a defined behavior for services who can't start up, and allow them to report errors and gracefully exit, possibly tearing down other services which were started first.

Related:

  • #4731 had to deal with this issue a bit. The "new, good" API will just log a traceback, and not actually exit. It's not clear that this is an improvement, but it is at least more consistent.
  • A really good solution here may involve fixing #718 as a prerequisite, as twistd should really have a non-zero exit status when it can't actually start up.

Change History

1

Changed 3 years ago by <automation>

  • owner glyph deleted
Note: See TracTickets for help on using tickets.