diff options
author | Andrew Dolgov <[email protected]> | 2006-02-12 08:21:43 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2006-02-12 08:21:43 +0100 |
commit | 6eafcac62f0a7c4174c3aea364b144a5f671bdd3 (patch) | |
tree | f44ed7c83884d98e8a744e36cb1e23f6721ca36d | |
parent | 3f79b9dc4a82b2f2c6f6fcc8e0c378d2f629aac3 (diff) |
update_daemon improvements
-rw-r--r-- | update_daemon.php | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/update_daemon.php b/update_daemon.php index 9061a4498..3e0ff7bec 100644 --- a/update_daemon.php +++ b/update_daemon.php @@ -3,12 +3,10 @@ // this daemon runs in the background and updates all feeds // continuously - define('SLEEP_INTERVAL', 10); // seconds - - // TODO: allow update scheduling from users + declare(ticks = 1); + define('SLEEP_INTERVAL', 10); // seconds between update runs define('MAGPIE_CACHE_DIR', '/var/tmp/magpie-ttrss-cache-daemon'); - define('DISABLE_SESSIONS', true); require_once "sanity_check.php"; @@ -18,6 +16,20 @@ require_once "functions.php"; require_once "magpierss/rss_fetch.inc"; + function sigint_handler() { + unlink("update_daemon.lock"); + die("Received SIGINT. Exiting.\n"); + } + + pcntl_signal(SIGINT, sigint_handler); + + $lock_handle = make_lockfile("update_daemon.lock"); + + if (!$lock_handle) { + die("error: Can't create lockfile ($lock_filename). ". + "Maybe another daemon is already running."); + } + $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); if (!$link) { @@ -35,6 +47,7 @@ while (true) { // FIXME: get all scheduled updates w/forced refetch + // Stub, until I figure out if it is really needed. # $result = db_query($link, "SELECT * FROM ttrss_scheduled_updates ORDER BY id"); # while ($line = db_fetch_assoc($result)) { @@ -50,7 +63,7 @@ while ($line = db_fetch_assoc($result)) { - print "Checking feed: " . $line["feed_url"] . "\n"; + print "Feed: " . $line["feed_url"] . ": "; $upd_intl = $line["update_interval"]; @@ -71,10 +84,10 @@ if (!$line["last_updated"] || time() - strtotime($line["last_updated"]) > ($upd_intl * 60)) { - print "Updating...\n"; - - update_rss_feed($link, $line["feed_url"], $line["id"], true); - + print "Updating...\n"; + update_rss_feed($link, $line["feed_url"], $line["id"], true); + } else { + print "Update not needed.\n"; } } |