แก้ปัญหา timeout โดยใช้ ajax ในการวนลูปเพื่อเรียกไฟล์ php ในการทำงานได้ใหมครับ

เริ่มโดย okgofun, 01 พฤศจิกายน 2007, 19:12:08

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

okgofun

แก้ปัญหา timeout โดยใช้ ajax ในการวนลูปเพื่อเรียกไฟล์ php ในการทำงานได้ใหมครับ

เช่นปรกติถ้าไฟล์ setup.php มีการทำงานที่ค่อนข้างมาก query ข้อมูลหลายๆ record แต่ถ้าเรารันไฟล์นี้ระบบจะมีปัญหาเรื่อง timeout คือว่า มันเกินเวลาที่ server กำหนด

และคำสั่ง set_time_limit  ก็อาจจะไม่ได้ผล กรณีที่ server ไม่เราให้แก้ไข time limit

ดังนั้นถ้าผมจะทำการซอยไฟล์ setup เป็นหลายๆไฟล์ เช่น

setup1.php
setup2.php
setup3.php
setup4.php
setup5.php
.........
.........
setup6.php
setup7.php

๑๑ แล้วทีนี้ก็ใช้ ajax เรียกไฟล์ setup1.php,setup2.php,...,setup7.php เหล่านี้ทั้งหมดแบบวนลูปไปเรื่อยๆ ผมอยากทราบว่า server จะถือว่าไฟล์แต่ละไฟล์มีเวลา timeout ของตัวเองใหมครับ หรือว่า timeout จะตรวจสอบที่ไฟล์แรกที่ใช้ ajax ครับ
จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน

EThaiZone

ลองใช้ ini_set("max_execution_time", "100");
แทนดูนะครับ ถ้า set_time_limit มันใช้ไม่ได้อะ (แต่ก็ยังไม่เคยลองตามเคสข้างบน)

ส่วนเรื่อง timeout จะแยกตามไฟล์ครับ
ไม่เกี่ยวกันเพราะถือว่าเรียกแยกจากกัน

ที่น่ากังวลกว่าคือ timeout ของ ajax  :P


icman

ส่ง parameter เข้าไปให้ file เดียว น่าจงะดี กว่า นะครับ
ถ้า ตามที่ยกมา แก้ปัญหา ได้ แต่ จะใช้ อะไร เป็น ตัวแยกว่า ตอนนี้ทำงานไปถึงไหน แล้ว

okgofun

อ้างถึงจาก: EThaiZone ใน 02 พฤศจิกายน 2007, 23:49:34
ลองใช้ ini_set("max_execution_time", "100");
แทนดูนะครับ ถ้า set_time_limit มันใช้ไม่ได้อะ (แต่ก็ยังไม่เคยลองตามเคสข้างบน)

ส่วนเรื่อง timeout จะแยกตามไฟล์ครับ
ไม่เกี่ยวกันเพราะถือว่าเรียกแยกจากกัน

ที่น่ากังวลกว่าคือ timeout ของ ajax  :P



ini_set("max_execution_time", "100"); ใช้ได้กับทุก server ใหมครับ

เอ่อ แล้ว timeout ของ ajax มันนานขนาดใหนครับ นึกว่าคล้ายๆ javascript ที่ยังใช้ setTimeout ให้นับเลขถอยหลังเป็นร้อยๆได้ เลยคิดว่ามันน่าจะเหลือเฟือ

จริงๆแล้วมันรันได้นานใหมครับ

อ้างถึงจาก: icman ใน 03 พฤศจิกายน 2007, 00:07:24
ส่ง parameter เข้าไปให้ file เดียว น่าจงะดี กว่า นะครับ
ถ้า ตามที่ยกมา แก้ปัญหา ได้ แต่ จะใช้ อะไร เป็น ตัวแยกว่า ตอนนี้ทำงานไปถึงไหน แล้ว

ขอบคุณครับ ผมใช้วิธีเรียกจากไฟล์เดียวแล้วครับ เพราะคิดว่า timeout ของ php คงไม่หมดแน่
จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน