2013-09-06 6 views
1
$jobs = $jq->getJobsList(array(
'status' => ZendJobQueue::STATUS_RUNNING 
); 

Приведенный выше код возвращает пустой результат, хотя выполняется несколько процессов (я вижу это с помощью пользовательского интерфейса zend-сервера). Список состояния, начиная с INT 0Zend job queue api возвращает пустые результаты

const int STATUS_PENDING; 
const int STATUS_WAITING_PREDECESSOR; 
const int STATUS_RUNNING; 
const int STATUS_COMPLETED; 
const int STATUS_FAILED; 
const int STATUS_OK; 
const int STATUS_LOGICALLY_FAILED; 
const int STATUS_TIMEOUT; 
const int STATUS_REMOVED; 
const int STATUS_SCHEDULED; 
const int STATUS_SUSPENDED 

; Но когда я запустить процесс и немедленно, если я проверить

$jobs = $jq->getJobsList(array(
    'status' => ZendJobQueue::STATUS_FAILED 
    ); 

То есть дает неправильный результат снова

Array 
(
    [0] => Array 
     (
      [id] => 266 
      [type] => 1 
      [node_id] => 0 
      [queue_name] => 
      [status] => 2//look this status it is for running process as of documentation 
      [priority] => 1 
      [persistent] => 
      [script] => http://localhost:3030/feecalc/index.php?job=runFeecalc 
      [predecessor] => 0 
      [name] => 1 
      [vars] => {"session_code":"20124 ","user_id":"70"} 
      [http_headers] => 
      [output] => 
      [error] => 
      [start_time] => 2013-09-06 12:37:31 
      [creation_time] => 2013-09-06 12:37:31 
      [end_time] => 
      [schedule] => 
      [schedule_time] => 
      [schedule_id] => 0 
      [app_id] => -1 
     ) 

) 

Я использую Zend Enterprise версии 6 (пробное)

Кто-нибудь имеет решение ?

ответ

1

Я связался с персоналом Zend, поэтому вставьте ответ в качестве ответа.

Действительно документация не слишком ясно говорит об этом, но вы должны использовать константу запуска класса с префиксом «JOB_STATUS_», так что в вашем случае, выполните следующие действия:

$jobs = $jq->getJobsList(array(
'status' => ZendJobQueue::JOB_STATUS_RUNNING 
);