add rudimentary hang-check based on pcntl_alarm (2)

This commit is contained in:
Andrew Dolgov 2007-03-15 16:55:49 +01:00
commit c7ab06fb90
2 changed files with 35 additions and 9 deletions

View File

@ -363,7 +363,7 @@
}
if (defined('DAEMON_EXTENDED_DEBUG')) {
print "update_rss_feed: start\n";
_debug("update_rss_feed: start");
}
$result = db_query($link, "SELECT update_interval,auth_login,auth_pass
@ -391,7 +391,7 @@
}
if (defined('DAEMON_EXTENDED_DEBUG')) {
print "update_rss_feed: fetching...\n";
_debug("update_rss_feed: fetching...");
}
if (!defined('DAEMON_EXTENDED_DEBUG')) {
@ -401,7 +401,7 @@
$rss = fetch_rss($fetch_url);
if (defined('DAEMON_EXTENDED_DEBUG')) {
print "update_rss_feed: fetch done, parsing...\n";
_debug("update_rss_feed: fetch done, parsing...");
} else {
error_reporting (DEFAULT_ERROR_LEVEL);
}
@ -492,11 +492,15 @@
foreach ($iterator as $item) {
$entry_guid = $item["id"];
if (!$entry_guid) $entry_guid = $item["guid"];
if (!$entry_guid) $entry_guid = $item["link"];
if (!$entry_guid) $entry_guid = make_guid_from_title($item["title"]);
if (defined('DAEMON_EXTENDED_DEBUG')) {
_debug("update_rss_feed: guid $entry_guid");
}
if (!$entry_guid) continue;
$entry_timestamp = "";
@ -605,10 +609,18 @@
$entry_content = sanitize_rss($entry_content);
if (defined('DAEMON_EXTENDED_DEBUG')) {
_debug("update_rss_feed: done collecting data [TITLE:$entry_title]");
}
db_query($link, "BEGIN");
if (db_num_rows($result) == 0) {
if (defined('DAEMON_EXTENDED_DEBUG')) {
_debug("update_rss_feed: base guid not found");
}
// base post entry does not exist, create it
$result = db_query($link,
@ -661,6 +673,10 @@
if (db_num_rows($result) == 1) {
if (defined('DAEMON_EXTENDED_DEBUG')) {
_debug("update_rss_feed: base guid found, creating user ref");
}
// this will be used below in update handler
$orig_content_hash = db_fetch_result($result, 0, "content_hash");
$orig_title = db_fetch_result($result, 0, "title");
@ -764,6 +780,10 @@
db_query($link, "COMMIT");
if (defined('DAEMON_EXTENDED_DEBUG')) {
_debug("update_rss_feed: looking for tags...");
}
/* taaaags */
// <a href="http://technorati.com/tag/Xorg" rel="tag">Xorg</a>, //
@ -857,7 +877,7 @@
}
if (defined('DAEMON_EXTENDED_DEBUG')) {
print "update_rss_feed: done\n";
_debug("update_rss_feed: done");
}
}
@ -1938,7 +1958,7 @@
}
function get_script_dt_add() {
if (strpos(VERSION, "99") === false) {
if (strpos(VERSION, ".99") === false) {
return VERSION;
} else {
return time();

View File

@ -3,13 +3,19 @@
// this daemon runs in the background and updates all feeds
// continuously
define('DEFAULT_ERROR_LEVEL', E_ALL);
// define('DEFAULT_ERROR_LEVEL', E_ALL);
define('DEFAULT_ERROR_LEVEL', E_ERROR | E_WARNING | E_PARSE);
declare(ticks = 1);
define('MAGPIE_CACHE_DIR', '/var/tmp/magpie-ttrss-cache-daemon');
define('DISABLE_SESSIONS', true);
define('DAEMON_EXTENDED_DEBUG', true);
require_once "version.php";
if (strpos(VERSION, ".99") !== false) {
define('DAEMON_EXTENDED_DEBUG', true);
}
define('PURGE_INTERVAL', 3600); // seconds
@ -25,7 +31,7 @@
require_once "functions.php";
require_once "magpierss/rss_fetch.inc";
error_reporting(E_ALL);
error_reporting(DEFAULT_ERROR_LEVEL);
function sigint_handler() {
unlink("update_daemon.lock");