Hello Pyloneers,
For one of the applications I'm writing, it would be really handy to
have the app advertise itself with avahi so that clients on the
network could automatically find it.
What I've got so far is the following, which has been added to Globals.__init__:
publishInfo = config.get("publish_url") # e.g.
http://hostname.mydomain.com:5002
if publishInfo:
appname = config.get("package")
s = urlparse.urlparse(publishInfo)
hostname = s.hostname
port = str(s.port)
url = s.path
args = ["avahi-publish-service", appname, "_%s._tcp" %
appname, port]
if url:
args.append(url)
try:
self.avahiRegistration = subprocess.Popen(args, close_fds=True)
except OSError:
log.warning("Couldn't start avahi-publish-service")
This kind of works...The problem so far is that when the application
is run under paste with the --reload option, the child
avahi-publish-service processes don't get killed off when the
application is shutdown. When paster restarts the application, the
old avahi process is re-parented to the init process. The same
problem occurs when running with --daemon.
Is there a way to get notified when your application is about to be
shut down? Paste looks like it just sends SIGTERM to the process when
it detects a modified file, but maybe I'm missing something.
Maybe there's a better approach I could be taking?
Thanks!
Chris
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"pylons-discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---