Changing environmental variables
Posted: 2012-05-20T16:00:43-07:00
I've got a script resizing images on a regular basis on a shared hosting account. When it is busy it hits 100% CPU usage and when that happens the pages of the site load very slowly. I would like to change it so IMagick has a lower priority then anything else, is this possible on a shared host with just cPanel/PHP? I have also looked into MAGICK_THROTTLE and MAGICK_THREAD_LIMIT and have tried to set them via setOption but they don't seem to be working as I am still getting slow page loading when the script is busy. Could you tell me if I have set them right using the following code:
Many thanks!
Code: Select all
$client = new Zend_Http_Client('http://img.youtube.com/vi/' . $video->videoId . '/0.jpg');
$imageBlob = $client->request()->getBody();
if($imageBlob == false) {
return false;
} else {
$thumb = new Imagick();
$thumb->setOption('MAGICK_THREAD_LIMIT', 1);
$thumb->setOption('MAGICK_THROTTLE', 100);
$thumb->readImageBlob($imageBlob);
$thumb->setImageCompression(imagick::COMPRESSION_JPEG);
$thumb->setImageCompressionQuality(85);
$thumb->cropImage(480, 270, 0, 45);
$thumb->resizeImage(194, 110, Imagick::FILTER_LANCZOS, 1);
$thumb->setImagePage(194, 110, 0, 0);
$thumb->writeImage('images/thumbs/' . $video->id . '.jpg');
$thumb->clear();
$thumb->destroy();
return true;
}