// Initialize session callback handler $callback = new SessionCallbackHandler(); $session->setCallbackHandler($callback); switch ($data_sending_mode) { case 0: foreach ($job_documents as $job_id => $documents) { foreach ($documents as $document) { $session->queueDocument($document); } $length = count($document); print "{$length} documents queued for {$job_id} job ID\n"; } break; case 1: foreach ($job_documents as $job_id => $documents) { $session->queueBatch($documents); $length = count($documents); print "{$length} documents queued for {$job_id} job ID\n"; } break; default: $full_batch = array(); foreach ($job_documents as $job_id => $documents) { $full_batch = array_merge($full_batch, $documents); } $session->queueBatch($full_batch); $length = count($full_batch); print "{$length} documents queued in single batch\n"; break; } print "\n";
$initialTexts[] = $line; } if (!feof($file)) { echo "Error: unexpected fgets() fail\n"; } fclose($file); foreach ($initialTexts as $text) { // Creates a sample document which need to be processed on Semantria // Unique document ID // Source text which need to be processed $doc_id = uniqid('', TRUE); $documents[] = array('id' => $doc_id, 'text' => $text); $tracker[$doc_id] = TASK_STATUS_QUEUED; if (count($documents) == $subscription['basic_settings']['batch_limit']) { $docsCount = count($documents); $res = $session->queueBatch($documents); if ($res == 200 || $res == 202) { print "{$docsCount} documents queued successfully.\n"; $documents = array(); } } } $docsCount = count($documents); if ($docsCount) { $res = $session->queueBatch($documents); if ($res == 200 || $res == 202) { print "{$docsCount} documents queued successfully.\n"; } else { die("Unexpected error.\n"); } }