forked from GNUsocial/gnu-social
don't worry about old claims
darcs-hash:20080704060213-84dde-228a06885e49bc81bb8f0f681ff3dc788c97213c.gz
This commit is contained in:
parent
94a7924767
commit
3eb1313587
@ -41,8 +41,7 @@ function qd_top_item() {
|
|||||||
|
|
||||||
$qi = new Queue_item();
|
$qi = new Queue_item();
|
||||||
$qi->orderBy('created');
|
$qi->orderBy('created');
|
||||||
$qi->whereAdd('claimed is NULL', 'OR');
|
$qi->whereAdd('claimed is NULL');
|
||||||
$qi->whereAdd('now() - claimed > '.CLAIM_TIMEOUT, 'OR');
|
|
||||||
|
|
||||||
$qi->limit(1);
|
$qi->limit(1);
|
||||||
|
|
||||||
@ -52,7 +51,7 @@ function qd_top_item() {
|
|||||||
# XXX: potential race condition
|
# XXX: potential race condition
|
||||||
# can we force it to only update if claimed is still NULL
|
# can we force it to only update if claimed is still NULL
|
||||||
# (or old)?
|
# (or old)?
|
||||||
qd_log(LOG_INFO, 'claiming queue item = ' . $queue->notice_id);
|
qd_log(LOG_INFO, 'claiming queue item = ' . $qi->notice_id);
|
||||||
$orig = clone($qi);
|
$orig = clone($qi);
|
||||||
$qi->claimed = DB_DataObject_Cast::dateTime();
|
$qi->claimed = DB_DataObject_Cast::dateTime();
|
||||||
$result = $qi->update($orig);
|
$result = $qi->update($orig);
|
||||||
@ -67,6 +66,19 @@ function qd_top_item() {
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function qd_clear_old_claims() {
|
||||||
|
$qi = new Queue_item();
|
||||||
|
$qi->orderBy('created');
|
||||||
|
$qi->whereAdd('now() - claimed > '.CLAIM_TIMEOUT);
|
||||||
|
if ($qi->find()) {
|
||||||
|
while ($qi->fetch()) {
|
||||||
|
$orig = clone($qi);
|
||||||
|
$qi->claimed = NULL;
|
||||||
|
$qi->update($orig);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function qd_is_remote($notice) {
|
function qd_is_remote($notice) {
|
||||||
$user = User::staticGet($notice->profile_id);
|
$user = User::staticGet($notice->profile_id);
|
||||||
return !$user;
|
return !$user;
|
||||||
@ -93,6 +105,7 @@ do {
|
|||||||
$qi->delete();
|
$qi->delete();
|
||||||
$qi = NULL;
|
$qi = NULL;
|
||||||
} else {
|
} else {
|
||||||
|
# qd_clear_old_claims();
|
||||||
# In busy times, sleep less
|
# In busy times, sleep less
|
||||||
$sleeptime = 30000000/($in_a_row+1);
|
$sleeptime = 30000000/($in_a_row+1);
|
||||||
qd_log(LOG_INFO, 'sleeping ' . $sleeptime . ' microseconds');
|
qd_log(LOG_INFO, 'sleeping ' . $sleeptime . ' microseconds');
|
||||||
|
Loading…
Reference in New Issue
Block a user