~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to stop-loggerhead.py

  • Committer: Robey Pointer
  • Date: 2007-01-02 04:34:09 UTC
  • Revision ID: robey@lag.net-20070102043409-5slhxuzq5omtim2f
exponential backoff isn't really working for the lockfile, so keep it down
to 0.1 second pauses while trying to grab the lock.  also, flush the caches
at shutdown, and pause during cache rebuilding to give normal requests a
chance to get the lock.  (with threading.Lock, wakeups were automatic, but
with the file lock, there's a lot of sleeping going on.)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/env python2.4
2
 
 
3
 
import pkg_resources
4
 
pkg_resources.require("TurboGears")
5
 
 
6
 
import os
7
 
import sys
8
 
 
9
 
home = os.path.realpath(os.path.dirname(__file__))
10
 
pidfile = os.path.join(home, 'loggerhead.pid')
11
 
 
12
 
try:
13
 
    f = open(pidfile, 'r')
14
 
except IOError, e:
15
 
    print 'No pid file found.'
16
 
    sys.exit(1)
17
 
 
18
 
pid = int(f.readline())
19
 
 
20
 
try:
21
 
    os.kill(pid, 0)
22
 
except OSError, e:
23
 
    print 'Stale pid file; server is not running.'
24
 
    sys.exit(1)
25
 
 
26
 
print
27
 
print 'Shutting down previus server @ pid %d.' % (pid,)
28
 
print
29
 
 
30
 
import signal
31
 
os.kill(pid, signal.SIGINT)