very basic and unfinished lock file implementation
This commit is contained in:
parent
3956313a4c
commit
aafbe20872
1 changed files with 21 additions and 1 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/local/bin/ruby -w
|
#!/usr/local/bin/ruby -w
|
||||||
|
|
||||||
# $Dwarf: ripnews.rb,v 1.58 2003/04/28 20:28:05 ward Exp $
|
# $Dwarf: ripnews.rb,v 1.59 2003/04/28 21:52:48 ward Exp $
|
||||||
# $Source$
|
# $Source$
|
||||||
|
|
||||||
require 'date'
|
require 'date'
|
||||||
|
|
@ -236,6 +236,24 @@ def check_config
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def lock(group)
|
||||||
|
if @config[group].has_key?("LOCKFILE")
|
||||||
|
if FileTest.exists?(@config[group]["LOCKFILE"])
|
||||||
|
# Should also detect stale locks here
|
||||||
|
print "Already running, exiting...\n"
|
||||||
|
exit
|
||||||
|
else
|
||||||
|
lock = File.new(@config[group]["LOCKFILE"], "w")
|
||||||
|
lock.print "#{Process.pid}\n"
|
||||||
|
lock.close
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def unlock(group)
|
||||||
|
File.unlink(@config[group]["LOCKFILE"])
|
||||||
|
end
|
||||||
|
|
||||||
def get_single(subj, group)
|
def get_single(subj, group)
|
||||||
print "Fetching singlepart article: #{subj}\n"
|
print "Fetching singlepart article: #{subj}\n"
|
||||||
body = @articles.get_group_body(subj)
|
body = @articles.get_group_body(subj)
|
||||||
|
|
@ -414,6 +432,7 @@ if Debuglevel > 2
|
||||||
end
|
end
|
||||||
|
|
||||||
for group in @config.keys.sort
|
for group in @config.keys.sort
|
||||||
|
lock(group)
|
||||||
print "\nGetting articles for #{group}\n"
|
print "\nGetting articles for #{group}\n"
|
||||||
@articles = Article.new(@config[group]["NNTPSERVER"], group, @config[group]["NEWSRCNAME"])
|
@articles = Article.new(@config[group]["NNTPSERVER"], group, @config[group]["NEWSRCNAME"])
|
||||||
# begin
|
# begin
|
||||||
|
|
@ -462,6 +481,7 @@ for group in @config.keys.sort
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@articles.quit
|
@articles.quit
|
||||||
|
unlock(group)
|
||||||
end
|
end
|
||||||
|
|
||||||
tend = Time.now
|
tend = Time.now
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue