/* write the uidl to the use table so we don't store this item again */
- CheckIfAlreadySeen("RSS Item Insert", RSSAggr->ThisMsg->MsgGUID, IO->Now, 0, eWrite, CCID, IO->ID);
+ CheckIfAlreadySeen("RSS Item Insert", RSSAggr->ThisMsg->MsgGUID, EvGetNow(IO), 0, eWrite, CCID, IO->ID);
}
if (GetNextHashPos(RSSAggr->Messages,
eNextState RSS_FetchNetworkUsetableEntry(AsyncIO *IO)
{
+ static const time_t antiExpire = USETABLE_ANTIEXPIRE_HIRES;
+ time_t seenstamp = 0;
#ifndef DEBUG_RSS
const char *Key;
long len;
/* Find out if we've already seen this item */
// todo: expiry?
SetRSSState(IO, eRSSUT);
- if (CheckIfAlreadySeen("RSS Item Seen",
- Ctx->ThisMsg->MsgGUID,
- IO->Now,
- IO->Now - USETABLE_ANTIEXPIRE_HIRES,
- eCheckUpdate,
- CCID, IO->ID)
- != 0)
+ seenstamp = CheckIfAlreadySeen("RSS Item Seen",
+ Ctx->ThisMsg->MsgGUID,
+ EvGetNow(IO),
+ antiExpire,
+ eCheckUpdate,
+ CCID, IO->ID);
+ if (seenstamp < antiExpire)
{
/* Item has already been seen */
EVRSSC_syslog(LOG_DEBUG,
- "%s has already been seen\n",
- ChrPtr(Ctx->ThisMsg->MsgGUID));
+ "%s has already been seen - %ld < %ld",
+ ChrPtr(Ctx->ThisMsg->MsgGUID),
+ seenstamp, antiExpire);
+
SetRSSState(IO, eRSSParsing);
if (GetNextHashPos(Ctx->Messages,
else
#endif
{
+ /* Item has already been seen */
+ EVRSSC_syslog(LOG_DEBUG,
+ "%s Parsing - %ld >= %ld",
+ ChrPtr(Ctx->ThisMsg->MsgGUID),
+ seenstamp, antiExpire);
SetRSSState(IO, eRSSParsing);
NextDBOperation(IO, RSSSaveMessage);
SetRSSState(IO, eRSSFailure);
ErrMsg = NewStrBuf();
- EVRSSC_syslog(LOG_ALERT, "need a 200, got a %ld !\n",
+ if (IO) EVRSSC_syslog(LOG_ALERT, "need a 200, got a %ld !\n",
IO->HttpReq.httpcode);
strs[0] = ChrPtr(Ctx->Url);
ChrPtr(ErrMsg),
"RSS Aggregation run failure",
2, strs, (long*) &lens,
- IO->Now,
- IO->ID, CCID);
+ CCID,
+ IO->ID,
+ EvGetNow(IO));
FreeStrBuf(&ErrMsg);
EVRSSC_syslog(LOG_DEBUG,
while (pCfg != NULL)
{
- UpdateLastKnownGood (pCfg, IO->Now);
+ UpdateLastKnownGood (pCfg, EvGetNow(IO));
if ((Ctx->roomlist_parts > 1) &&
(it == NULL))
{
if (CheckIfAlreadySeen("RSS Whole",
guid,
- IO->Now,
- IO->Now - USETABLE_ANTIEXPIRE,
+ EvGetNow(IO),
+ EvGetNow(IO) - USETABLE_ANTIEXPIRE,
eCheckUpdate,
CCID, IO->ID)
!= 0)