Skip to content
This repository has been archived by the owner on May 27, 2019. It is now read-only.

Commit

Permalink
Replacing since param with exclude param as since was not working due…
Browse files Browse the repository at this point in the history
… to differences in timestamps and removing date prefix from failure message
  • Loading branch information
Neil Crookes committed Apr 15, 2010
1 parent 175133c commit 43087f3
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 18 deletions.
6 changes: 2 additions & 4 deletions controllers/queued_tasks_controller.php
Expand Up @@ -3,12 +3,10 @@ class QueuedTasksController extends AppController {
public $name = 'QueuedTasks';
public function progress() {
if (isset($this->params['named'])) {
$options['conditions'] = array_intersect_key($this->params['named'], array_flip(array('group', 'since')));
$options['conditions'] = array_intersect_key($this->params['named'], array_flip(array('group', 'exclude')));
}
$last_checked = time();
$tasks = $this->QueuedTask->find('progress', $options);
$progress = compact('tasks', 'last_checked');
$this->set(compact('progress'));
$this->set(compact('tasks'));
}
}
?>
21 changes: 8 additions & 13 deletions models/queued_task.php
Expand Up @@ -240,22 +240,17 @@ protected function _findProgress($state, $query = array(), $results = array()) {

$query['fields'] = array(
'QueuedTask.reference',
'(CASE WHEN QueuedTask.notbefore > NOW() THEN \'NOT_READY\' WHEN QueuedTask.fetched IS NULL THEN \'NOT_STARTED\' WHEN QueuedTask.fetched < NOW() AND QueuedTask.completed IS NULL AND QueuedTask.failed = 0 THEN \'IN_PROGRESS\' WHEN QueuedTask.fetched < NOW() AND QueuedTask.completed IS NULL AND QueuedTask.failed > 0 THEN \'FAILED\' WHEN QueuedTask.fetched < NOW() AND QueuedTask.completed IS NOT NULL THEN \'COMPLETED\' END) AS status',
'(CASE WHEN QueuedTask.notbefore > NOW() THEN \'NOT_READY\' WHEN QueuedTask.fetched IS NULL THEN \'NOT_STARTED\' WHEN QueuedTask.fetched IS NOT NULL AND QueuedTask.completed IS NULL AND QueuedTask.failed = 0 THEN \'IN_PROGRESS\' WHEN QueuedTask.fetched IS NOT NULL AND QueuedTask.completed IS NULL AND QueuedTask.failed > 0 THEN \'FAILED\' WHEN QueuedTask.fetched IS NOT NULL AND QueuedTask.completed IS NOT NULL THEN \'COMPLETED\' ELSE \'UNKNOWN\' END) AS status',
'QueuedTask.failure_message',
);

if (isset($query['conditions']['since'])) {
$since = $query['conditions']['since'];
unset($query['conditions']['since']);
if (is_numeric($since)) {
$since = date('Y-m-d H:i:s', $since);
}
if (isset($query['conditions']['exclude'])) {
$exclude = $query['conditions']['exclude'];
unset($query['conditions']['exclude']);
$exclude = trim($exclude, ',');
$exclude = explode(',', $exclude);
$query['conditions'][] = array(
'OR' => array(
'QueuedTask.completed <>' => null,
'QueuedTask.failed >' => 0,
),
'QueuedTask.modified >' => $since,
'NOT' => array('reference' => $exclude),
);
}
if (isset($query['conditions']['group'])) {
Expand All @@ -266,7 +261,7 @@ protected function _findProgress($state, $query = array(), $results = array()) {
return $query;

} else {

foreach ($results as $k => $result) {
$results[$k] = array(
'reference' => $result[$this->alias]['reference'],
Expand Down
2 changes: 1 addition & 1 deletion views/queued_tasks/json/progress.ctp
@@ -1,5 +1,5 @@
<?php
$this->layout = null;
Configure::write('debug', 0);
echo json_encode($progress);
echo json_encode($tasks);
?>

0 comments on commit 43087f3

Please sign in to comment.