انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: rahmani در 11 شهریور 1392، 08:04 بظ
-
سلام
فرض کنید یک جدول پایگاه داده شمار بسیار زیادی record دارد یک برنامه php برای هر fileمربوط به ان record را از روی اینترنت برداشته و آن را واکشی می کند اما خطای زیر موجب توقف برنامه می شود من فکر می کنم این خطا بخاطر قطع لحظه ای اینترنت است چون پس از راه اندازی دوباره برنامه file مربوط به همان record را بخوبی واکشی می کند
Warning: SimpleXMLElement::__construc...........[simplexmlelement.--construct]: failed to open stream: HTTP
request failed! in /var/www/projects
Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /var/www/projects
آیا اگر نوع خطا تشخیص داده شود با ایجاد تاخیر می توان از توقف برنامه جلوگیری کرد؟
تشخیص نوع خطا؟
-
سلام
پیشنهاد یکی از دوستان این بود که برنامه طوری باشد که فقط یک record را به ان pass دهیم و برنامه فقط برای همان record به اینترنت برود و پردازش و واکشی اطلاعات را انجام دهد
سپس یک قطعه code در shell بنویسم که record را از جدول بازیابی کرده و سپس در یک حلقه تکرار record را با دستور wget به برنامه pass کرده تا برنامه کار پردازش اطلاعات را انجام دهد
اما من نمیدانم قطعه code در shell چطور باید نوشته شود
#!/bin/bash
for i in {1..9}
do
wget "http://localhost/getBookData.php/id/$i"
done
-
اگر با اس اس اچ ;D وصل می شید می توانید ازscreen استفاده کنید.
-
اگر با اس اس اچ ;D وصل می شید می توانید ازscreen استفاده کنید.
فکر کنم منظورشون این هست که خود اون برنامه بهش اینترنت نرسه , نه اون کسی که برنامه رو اجرا کرده اینترنتش قطع بشه .
-
اگر با اس اس اچ ;D وصل می شید می توانید ازscreen استفاده کنید.
فکر کنم منظورشون این هست که خود اون برنامه بهش اینترنت نرسه , نه اون کسی که برنامه رو اجرا کرده اینترنتش قطع بشه .
سلام
من نمیدانم منظور شما از ssh , ... چی هست اما من با debian , command line :shell کار می کنم modem : tenda
این پیشنهاد شخص دیگری بود
خیلی ممنون
-
یک دستور داریم اسمش wait است من تا حالا ازش استفاده نکردم ولی اگه از دوستان کسی بلده بگه شاید کار این بنده خدا راه افتاد
-
یک دستور داریم اسمش wait است من تا حالا ازش استفاده نکردم ولی اگه از دوستان کسی بلده بگه شاید کار این بنده خدا راه افتاد
سلام ممنون از لطفتون دستور sleep باعث ایجاد تاخیر در برنامه می شود
<?php
// current time
echo date('h:i:s') . "\n";
// sleep for 10 seconds
sleep(10);
// wake up !
echo date('h:i:s') . "\n";
?>
اما برای من مهم این است که قبل از این که برنامه توسط خطای متوقف شود در برنامه تاخیر ایجاد کنیم که فکر می کنم برای این کار تشخیص نوع خطا و warning لازم هست
برای مثال دستور زیر xml file را از اینترنت می گیرد
$xml = new SimpleXMLElement($URL,null,true);
شاید اگر تشخیص دهیم که وقتی دستور بالا منجر به خطای مزبور می شود چه خروجی برمی گرداند آن گاه با گذاشتن یک شرط و پس از ایجاد تاخیر دستور را دوباره اجرا کنیم به جواب برسیم