summaryrefslogtreecommitdiff
path: root/update_daemon.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2006-02-12 08:21:43 +0100
committerAndrew Dolgov <[email protected]>2006-02-12 08:21:43 +0100
commit6eafcac62f0a7c4174c3aea364b144a5f671bdd3 (patch)
treef44ed7c83884d98e8a744e36cb1e23f6721ca36d /update_daemon.php
parent3f79b9dc4a82b2f2c6f6fcc8e0c378d2f629aac3 (diff)
update_daemon improvements
Diffstat (limited to 'update_daemon.php')
-rw-r--r--update_daemon.php31
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";
}
}