function mx_uploadqueue() { global $s3, $sqs, $mxuser, $maxhandle; if ($mxuser && $mxuser->id) { error_log('Access Error.'); die; } ini_set('error_log', '/var/log/mxupload-error.log'); error_log('start wait.'); while (--$maxhandle > 0) { $mxuser = null; $res = $sqs->receive_message(MXUPLOADQUEUEURL, array('VisibilityTimeout' => DEBUG ? 15 : 60, 'MaxNumberOfMessages' => 1)); if ($res->isOK()) { $msgcnt = 0; if ($msg = $res->body->Message(0)) { $msgcnt++; //print_r('msg: '.$msg->Body); $req = unserialize($msg->Body); error_log(print_r($req, true)); $ffile = $req['ffile']; $media = $req['media']; $userid = $req['userid']; $ffmt = $req['ffmt']; $rescan = $req['rescan']; $download = $req['download']; $fwave = ''; $fpreview = ''; $media->owner_id = $userid; if (!$userid) { error_log('No USERID in message...'); } else { $mxuser = new MXUser($userid); if (!$mxuser->id) { error_log('Can\'t switch to user ' . $userid . '. EXITING.'); die; } error_log("I am now: " . $mxuser->getname()); //error_log('mxuser='******''; $fpic = ''; if (file_exists($ffile)) { error_log('uploading media...'); $ret = $mxuser->uploadmedia($media->id, $media->filename, $media->title, $media->type, $media->description, $media->completion, '', ''); if (!array_key_exists('error', $ret)) { // set to ready OR restore previous media status //if ($media->status<MXMEDIAREADY) $mxuser->setmediastatus($media->id,MXMEDIAREADY); //else $mxuser->setmediastatus($media->id, $media->status); @unlink($ffile); error_log('OK'); $mxuser->rescanmedia($media); // send to rescan queue... } else { error_log($ret['error']); } } else { error_log('file ' . $ffile . ' missing...'); } } $sqs->delete_message(MXUPLOADQUEUEURL, $msg->ReceiptHandle); $sqs->delete_message(MXUPLOADQUEUEURL, $msg->ReceiptHandle); } if (!$msgcnt) { sleep(15); } } else { // receive message error error_log($res); sleep(60); } } // while true error_log('end wait.'); }