#! /usr/bin/env php error_mask) { echo sprintf("Job failed: %s\n", wu_error_mask_str($wu->error_mask) ); return; } switch ($wu->assimilate_state) { case ASSIMILATE_INIT: echo "Job is in progress.\n"; break; case ASSIMILATE_READY: echo "Job is waiting for assimilation.\n"; break; case ASSIMILATE_DONE: $result = BoincResult::lookup_id($wu->canonical_resultid); $host = BoincHost::lookup_id($result->hostid); $user = BoincUser::lookup_id($result->userid); echo "Job completed\n" ." Host $host->id ($host->os_name, $host->p_vendor)\n" ." User $user->id ($user->name)\n" ; $xmlout = simplexml_load_string( sprintf("%s", $result->xml_doc_out) ); $ofs = $xmlout->file_info; $nofs = $ofs->count(); for ($i=0; $i<$nofs; $i++) { if ($nofs == 1) { $path = "sample_results/$wu_name"; } else { $path = sprintf("sample_results/%s_%d", $wu_name, $i); } if (!is_file($path)) { die("output file is missing: $path\n"); } echo "Output file $i ($path):\n"; readfile($path); } break; } } if ($argc != 2) { die("usage: demo_query jobname\n"); } main($argv[1]); ?>