PHP kıvırmak sorular - birden çok kez çalışıyor

0 Cevap php

Bu kodu vardır:

<?php

 foreach($items as $item) {

   $site = $item['link'];
   $id = $item['id'];
   $newdata = $item['data_a'];
   $newdata2 = $item['data_b'];

   $ch = curl_init($site.'updateme.php?id='.$id.'&data1='.$newdata.'&data2='.$newdata2);
   curl_exec ($ch);
   // do some checking here
   curl_close ($ch);

 }

?>

Örnek giriş:

$site = 'http://www.mysite.com/folder1/folder2/';

$id = 512522;

$newdata = 'Short string here';

$newdata = 'Another short string here with numbers';

Burada updateme.php ana işlem

if (!$id = intval(Tools::getValue('id')))
    $this->_errors[] = Tools::displayError('Invalid ID!');
else
{
    $history = new History();
    $history->id = $id;
    $history->changeState($newdata1, intval($id));
    $history->id_employee = intval($employee->id_employee);
    $carrier = new Carrier(intval($info->id_carrier), intval($info->id_lang));
    $templateVars = array('{delivery}' => ($history->id_data_state == _READY_TO_SEND AND $info->shipping_number) ? str_replace('@', $info->shipping_number, $carrier->url) : '');
    if (!$history->addWithemail(true, $templateVars))
        $this->_errors[] = Tools::displayError('an error occurred while changing status or was unable to send e-mail to the employee');
}

Site her zaman değişen ve foreach döngüsü en az 20 kez çalıştırmak ya da daha fazla veri sayısına bağlı olacak şekilde her $ ürün içindeki en az 20 veri olacak.

Muhtemelen çok biraz zaman alabilir bu yüzden DB kaydedilir önce hedef site geçirilen değişkenler ile veritabanı bulunuyor güncelleyecek, bu muhtemelen en az 5 işlevleri ile geçecek.

Benim sorum bu yaklaşım ile bir sorun olacak mı? Komut kıvırmak süreç boyunca giderken bir zaman aşımı hatası karşılaşacak? Nasıl $ ürün veri şimdi yaklaşık 50 ya da yüzlerce olur?

Veya bunu yapmak için daha iyi bir yolu var mı?

UPDATES: * Added updateme.php main process code. Additional info: updateme.php will also send an email depending on the variables passed.

  • Şu anda diğer sitenin tüm aynı sunucuda barındırılan.

0 Cevap