circuits.app.daemon module
Daemon Component
Component to daemonize a system into the background and detach it from its
controlling PTY. Supports PID file writing, logging stdin, stdout and stderr
and changing the current working directory.
-
class circuits.app.daemon.daemonize(*args, **kwargs)
Bases: circuits.core.events.Event
daemonize Event
An event is a message send to one or more channels.
It is eventually dispatched to all components
that have handlers for one of the channels and the event type.
All normal arguments and keyword arguments passed to the constructor
of an event are passed on to the handler. When declaring a
handler, its argument list must therefore match the arguments
used for creating the event.
Every event has a name attribute that is used for matching
the event with the handlers.
Variables: |
- channels –
an optional attribute that may be set before firing
the event. If defined (usually as a class variable), the attribute
specifies the channels that the event should be delivered
to as a tuple. This overrides the default behavior
of sending the event to the firing component’s channel.
When an event is fired, the value in this attribute
is replaced for the instance with the channels that
the event is actually sent to. This information may be used
e.g. when the event is passed as a parameter to a handler.
- value – this is a circuits.core.values.Value
object that holds the results returned by the handlers invoked
for the event.
- success – if this optional attribute is set to
True, an associated event success (original name
with “_success” appended) will automatically be fired when all
handlers for the event have been invoked successfully.
- success_channels – the success event is, by default, delivered
to same channels as the successfully dispatched event itself.
This may be overridden by specifying an alternative list of
destinations using this attribute.
- complete – if this optional attribute is set to
True, an associated event complete (original name
with “_complete” appended) will automatically be fired when all
handlers for the event and all events fired by these handlers
(recursively) have been invoked successfully.
- complete_channels – the complete event is, by default, delivered
to same channels as the initially dispatched event itself.
This may be overridden by specifying an alternative list of
destinations using this attribute.
|
-
name = 'daemonize'
-
class circuits.app.daemon.deletepid(*args, **kwargs)
Bases: circuits.core.events.Event
“deletepid Event
An event is a message send to one or more channels.
It is eventually dispatched to all components
that have handlers for one of the channels and the event type.
All normal arguments and keyword arguments passed to the constructor
of an event are passed on to the handler. When declaring a
handler, its argument list must therefore match the arguments
used for creating the event.
Every event has a name attribute that is used for matching
the event with the handlers.
Variables: |
- channels –
an optional attribute that may be set before firing
the event. If defined (usually as a class variable), the attribute
specifies the channels that the event should be delivered
to as a tuple. This overrides the default behavior
of sending the event to the firing component’s channel.
When an event is fired, the value in this attribute
is replaced for the instance with the channels that
the event is actually sent to. This information may be used
e.g. when the event is passed as a parameter to a handler.
- value – this is a circuits.core.values.Value
object that holds the results returned by the handlers invoked
for the event.
- success – if this optional attribute is set to
True, an associated event success (original name
with “_success” appended) will automatically be fired when all
handlers for the event have been invoked successfully.
- success_channels – the success event is, by default, delivered
to same channels as the successfully dispatched event itself.
This may be overridden by specifying an alternative list of
destinations using this attribute.
- complete – if this optional attribute is set to
True, an associated event complete (original name
with “_complete” appended) will automatically be fired when all
handlers for the event and all events fired by these handlers
(recursively) have been invoked successfully.
- complete_channels – the complete event is, by default, delivered
to same channels as the initially dispatched event itself.
This may be overridden by specifying an alternative list of
destinations using this attribute.
|
-
name = 'deletepid'
-
class circuits.app.daemon.writepid(*args, **kwargs)
Bases: circuits.core.events.Event
“writepid Event
An event is a message send to one or more channels.
It is eventually dispatched to all components
that have handlers for one of the channels and the event type.
All normal arguments and keyword arguments passed to the constructor
of an event are passed on to the handler. When declaring a
handler, its argument list must therefore match the arguments
used for creating the event.
Every event has a name attribute that is used for matching
the event with the handlers.
Variables: |
- channels –
an optional attribute that may be set before firing
the event. If defined (usually as a class variable), the attribute
specifies the channels that the event should be delivered
to as a tuple. This overrides the default behavior
of sending the event to the firing component’s channel.
When an event is fired, the value in this attribute
is replaced for the instance with the channels that
the event is actually sent to. This information may be used
e.g. when the event is passed as a parameter to a handler.
- value – this is a circuits.core.values.Value
object that holds the results returned by the handlers invoked
for the event.
- success – if this optional attribute is set to
True, an associated event success (original name
with “_success” appended) will automatically be fired when all
handlers for the event have been invoked successfully.
- success_channels – the success event is, by default, delivered
to same channels as the successfully dispatched event itself.
This may be overridden by specifying an alternative list of
destinations using this attribute.
- complete – if this optional attribute is set to
True, an associated event complete (original name
with “_complete” appended) will automatically be fired when all
handlers for the event and all events fired by these handlers
(recursively) have been invoked successfully.
- complete_channels – the complete event is, by default, delivered
to same channels as the initially dispatched event itself.
This may be overridden by specifying an alternative list of
destinations using this attribute.
|
-
name = 'writepid'
-
class circuits.app.daemon.Daemon(*args, **kwargs)
Bases: circuits.core.components.Component
Daemon Component
Parameters: |
- pidfile (str or unicode) – .pid filename
- stdin (str or unicode) – filename to log stdin
- stdout (str or unicode) – filename to log stdout
- stderr (str or unicode) – filename to log stderr
|
initializes x; see x.__class__.__doc__ for signature
-
channel = 'daemon'
-
init(pidfile, path='/', stdin=None, stdout=None, stderr=None, channel='daemon')
-
deletepid()
-
writepid()
-
daemonize()
-
registered(component, manager)
-
on_started(component)