หมายเหตุ

คำแนะนำในการใช้ตัวจับเวลา

  1. สามารถเพิ่มตัวจับเวลาได้ในการเรียกคืน onXXXX เท่านั้น ตัวจับเวลาระดับโลกแนะนำให้ตั้งค่าในการเรียกคืน onWorkerStart และตัวจับเวลาสำหรับการเชื่อมต่อเฉพาะแนะนำในการเรียกคืน onConnect

  2. งานที่ถูกเพิ่มเป็นงานตัวจับเวลาจะถูกดำเนินการในกระบวนการปัจจุบัน (ไม่ได้เริ่มกระบวนการหรือเส้นรหัสใหม่) หากงานหนักมาก (โดยเฉพาะงานที่เกี่ยวข้องกับเครือข่าย) อาจทำให้กระบวนการนี้ถูกบล็อก ซึ่งจะไม่สามารถดำเนินการธุรกิจอื่น ๆ ชั่วคราวได้ ดังนั้น ควรทำงานที่ใช้เวลานานในกระบวนการเดียวกัน ตัวอย่างเช่น สร้างกระบวนการหรือหลายกระบวนการเพื่อดำเนินการ

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

  4. ควรระมัดระวังในการตั้งตัวจับเวลาในกระบวนการหลายตัว เช่น การโค้ดด้านล่างจะพิมพ์ 5 ครั้งต่อวินาที

    $worker = new Worker();
    // 5 กระบวนการ
    $worker->count = 5;
    $worker->onWorkerStart = function(Worker $worker) {
    // 5 กระบวนการที่มีตัวจับเวลาอย่างนี้สำหรับแต่ละกระบวนการ
    Timer::add(1, function(){
        echo "hi\r\n";
    });
    };
    Worker::runAll();

    หากต้องการให้กระบวนการทำงานตัวจับเวลาเพียงตัวเดียว โปรดดูที่ตัวอย่างที่ 2 ที่จับเวลา:: เพิ่ม ตัวอย่าง 2

  5. อาจมีความคลาดเคลื่อนประมาณ 1 มิลลิวินาที

  6. ตัวจับเวลาไม่สามารถลบได้ระหว่างกระบวนการ เช่น ตัวจับเวลาที่ถูกตั้งโดยกระบวนการ A ไม่สามารถถูกลบโดยการเรียกใช้ตัวแสดงเวลา:: del ของกระบวนการ B ได้

  7. ไอดีตัวจับเวลาอาจซ้ำกันระหว่างกระบวนการหลายตัว แต่ไอดีตัวจับเวลาที่สร้างขึ้นในกระบวนการเดียวกันจะไม่ซ้ำกัน

  8. เปลี่ยนแปลงเวลาระบบภายหลังจะมีผลต่อพฤติกรรมของตัวจับเวลา ดังนั้น หลังจากเปลี่ยนแปลงเวลาระบบแนะนำให้รีสตาร์ทใหม่