【发布时间】:2015-01-27 10:58:09
【问题描述】:
信息
我已经开始使用 Asana API 在我们的 CMS 中制作我们自己的任务概览。我在github 上找到了一个 API,这对我有很大帮助。 正如我在earlier question 中提到的,我想为某个用户获取所有任务。我已经设法使用下面的代码做到了这一点。
public function user($id)
{
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) &&
($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) {
$this->layout = 'ajax';
}
$asana = new Asana(array(
'apiKey' => 'xxxxxxxxxxxxxxxxxxxx'
));
$results = json_decode($asana->getTasksByFilter(array(
'assignee' => $id,
'workspace' => 'xxxxxxxxxx'
)));
if ($asana->responseCode != '200' || is_null($results)) {
throw new \Exception('Error while trying to connect to Asana, response code: ' . $asana->responseCode, 1);
}
$tasks = array();
foreach ($results->data as $task) {
$result = json_decode($asana->getTaskTags($task->id));
$task->tags = $result->data;
$tasks[] = $task;
}
$user = json_decode($asana->getUserInfo($id));
if ($asana->responseCode != '200' || is_null($user)) {
throw new \Exception('Error while trying to connect to Asana, response code: ' . $asana->responseCode, 1);
}
$this->render("tasks", array(
'tasks' => $tasks,
'title' => 'Tasks for '.$user->data->name
));
}
问题
上述工作正常,除了一件事。它比启动 Windows Vista 机器慢(非常慢 :))。如果我包含标签,最多可能需要 60 秒才能获得所有结果。如果我不包含标签,则大约需要 5 秒,这仍然太长了。现在,我希望我不是第一个使用 Asana API 的人,而且你们中的一些人过去可能遇到过同样的问题。
【问题讨论】: