@lucsieus
начинающий самурай

Как выгрузить историю более 5000 задач через task.logitem.list?

Всем привет!
Пытаюсь выгрузить историю 5000 задач через task.logitem.list (для оценки временных затрат при выполнении задач).

Как правильно сделать выгрузку через CRest? Как использовать цикл чтобы запрос не ушел в timeout?
Буду благодарен любой подсказке!

Пример кода:
<?
require_once (__DIR__.'/crest.php');
	$result = CRest::call(
		'task.logitem.list',
		['ID' => 80906 ]
	);

echo '<pre>';
	print_r($result);
echo '</pre>';
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 1
i229194964
@i229194964
Веб разработчик
<?php
require_once (__DIR__.'/crest.php');

// Установите PAGE_SIZE на 1000, чтобы получать до 1000 записей за раз
$page_size = 1000;
$page = 0;
$log_items = array();

do {
  $result = CRest::call(
    'task.logitem.list',
    array(
      'ID' => 80906,
      'PAGE_SIZE' => $page_size,
      'PAGE' => ++$page
    )
  );
  if (isset($result['result'])) {
    $log_items = array_merge($log_items, $result['result']);
  }
} while (count($result['result']) === $page_size);

echo '<pre>';
print_r($log_items);
echo '</pre>';
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы