ฐานความรู้

งานที่กำหนดเวลาไว้และงานครอน

วิธีเพิ่มกำหนดเวลา ทำไมระบบ cron ของ WordPress เองจึงไม่น่าเชื่อถือ และวิธีตรวจสอบว่าระบบทำงานแล้วหรือไม่

Sites → your site → Scheduled tasks.

การเพิ่มงาน

คำสั่งและตารางเวลา คำสั่งจะทำงานในสภาพแวดล้อมเดียวกับเว็บไซต์ ด้วยเวอร์ชัน PHP เดียวกัน ดังนั้น wp cron event run --due-now หรือ php artisan schedule:run จึงทำงานเหมือนกับในเชลล์ของคุณทุกประการ

ระบบ cron ของ WordPress เอง

WordPress จะกำหนดเวลางานตาม การดูหน้าเว็บ ดังนั้นเว็บไซต์เงียบๆ จึงทำงานตามกำหนดเวลาล่าช้าหรือไม่ทำเลย ส่วนเว็บไซต์ที่มีผู้เข้าชมมากจะทำงานซ้ำเป็นพันๆ ครั้ง ซึ่งไม่ใช่สิ่งที่คุณต้องการ

วิธีแก้คือใช้สองบรรทัด ตั้งค่า DISABLE_WP_CRON เป็น true ใน wp-config.php จากนั้นเพิ่มกำหนดเวลาจริงที่นี่โดยรันคำสั่ง wp cron event run --due-now ทุกๆ ห้านาที โพสต์ที่ตั้งเวลาไว้และปลั๊กอินสำรองข้อมูลของคุณจะทำงานตามเวลาที่กำหนดแทนที่จะขึ้นอยู่กับปริมาณการเข้าชม

การดูว่างานทำงานแล้วหรือไม่

แต่ละงานจะเก็บบันทึกการทำงานครั้งล่าสุดพร้อมรหัสสถานะ (exit code) และผลลัพธ์ งานที่ไม่เคยแสดงผลลัพธ์แปลว่ายังไม่เคยทำงาน ซึ่งเป็นคำตอบสำหรับคำถามที่พบบ่อยที่สุดเกี่ยวกับหน้านี้

สิ่งที่ไม่สามารถทำได้

งานตามกำหนดเวลาจะมีขอบเขตจำกัด โดยจะถูกหยุดหากทำงานนานเกินกำหนดเวลาไปมาก ดังนั้นงานที่ค้างอยู่จึงไม่สามารถสะสมสำเนาของตัวเองซ้ำซ้อนได้ หากคุณมีงานที่ต้องใช้เวลาหลายชั่วโมงอย่างถูกกฎหมาย ให้แบ่งงานนั้นหรือแจ้งฝ่ายสนับสนุนแล้วเราจะช่วยคุณตรวจสอบเอง

ยังมีปัญหาอยู่ใช่ไหม?

รวมบริการช่วยเหลือในทุกแพลตฟอร์ม และตอบกลับด้วยภาษาของคุณเอง

ติดต่อฝ่ายสนับสนุน บทความทั้งหมด