เทนเซอร์โฟลว์:: เสิร์ฟ:: LoaderHarness
#include <loader_harness.h>
LoaderHarness เป็นเครื่องมือที่ จัดการ การใช้งานจะยึดมั่นในและพูดคุยกับ พับ ในขณะที่มันเป็นเจ้าของมัน
สรุป
จะติดตามสถานะโดยรวมของ Servable ดังกล่าวว่า ผู้จัดการ สามารถกำหนดได้ว่าการเปลี่ยนสถานะที่จะทำให้สิ่งที่ครั้ง
การใช้งานของผู้จัดการยังสามารถเพิ่มสถานะเพิ่มเติมด้วยสายรัดแต่ละตัว ตัวอย่างเช่น ผู้จัดการอาจใส่ ACL หรือข้อมูลเมตาของวงจรชีวิตที่นี่ ความเป็นเจ้าของได้รับการดูแลโดยสายรัด
คลาสนี้ปลอดภัยสำหรับเธรด
ตัวสร้างและตัวทำลาย | |
---|---|
LoaderHarness (const ServableId & id, std::unique_ptr< Loader > loader, const Options & options) | |
LoaderHarness (const ServableId & id, std::unique_ptr< Loader > loader, std::unique_ptr< T > additional_state, const Options & options) ตัวสร้างเพื่อสร้างบังเหียนพร้อมสถานะเพิ่มเติมซึ่งผู้จัดการต้องการ | |
~LoaderHarness () กฎหมายที่จะทำลาย iff สถานะปัจจุบันเป็นหนึ่งใน kNew, kDisabled หรือ kError |
ประเภทสาธารณะ | |
---|---|
State { | enum รัฐของ servable พื้นฐานจากมุมมองของ LoaderHarness และวัตถุประสงค์ของการสื่อสารระหว่างมันและเป็น ผู้จัดการ |
งานสาธารณะ | |
---|---|
DoneQuiescing () | Status เปลี่ยนสถานะเป็น kQuiesced ซึ่งหมายความว่าไม่มีการจัดการสดสำหรับเซิร์ฟเวอร์นี้ที่มีอยู่ในส่วนหน้า |
Error (const Status & status) | void เปลี่ยนสถานะเป็น kError และเรียกใช้ 'options_.error_callback' |
Load () | Status การเปลี่ยนไป kLoading, ได้รับมอบหมายให้ Servable :: โหลด () แล้วเปลี่ยนทั้ง kReady ถ้า โหลด () ประสบความสำเร็จหรือ kError (และ options_ จะเรียก' |
LoadApproved () | Status การเปลี่ยนไปใช้ kLoadApproved |
LoadRequested () | Status เปลี่ยนสถานะของสายรัดเป็น kLoadRequested หากสถานะปัจจุบันคือ kNew |
StartQuiescing () | Status เปลี่ยนสถานะเป็น kQuiescing ซึ่งหมายความว่าเราไม่ต้องการให้การจัดการกับ servable นี้อีกต่อไป |
Unload () | Status การเปลี่ยนไป kUnloading, ได้รับมอบหมายให้ Servable :: ยกเลิกการโหลด () จากนั้นเปลี่ยนไป kDisabled เมื่อ ยกเลิกการโหลด () จะทำ |
UnloadRequested () | Status เปลี่ยนสถานะของสายรัดเป็น kUnloadRequested หากสถานะปัจจุบันคือ kReady |
additional_state () | T * รับสถานะเพิ่มเติม |
cancel_load_retry () | bool |
id () const | ServableId ส่งกลับตัวระบุของ Servable พื้นฐาน |
loader () const | Loader * ส่งคืนตัวชี้ไปยังตัวโหลดที่ห่อหุ้ม |
loader_state_snapshot () | ServableStateSnapshot< T > ส่งคืนสแน็ปช็อตสถานะโดยรวมปัจจุบันของ Servable พื้นฐาน |
loader_state_snapshot () const | ServableStateSnapshot< std::nullptr_t > |
set_cancel_load_retry (bool value) | void ยกเลิกการลองโหลดของเซิร์ฟเวอร์อีกครั้ง |
state () | ส่งกลับสถานะปัจจุบันของ Servable พื้นฐาน |
status () | Status ไม่ว่าจะมีอะไรผิดพลาดกับ Servable นี้หรือไม่ |
ฟังก์ชั่นคงที่สาธารณะ | |
---|---|
StateDebugString ( State state) | string |
โครงสร้าง | |
---|---|
tensorflow :: การให้บริการ :: LoaderHarness :: ตัวเลือก | ตัวเลือก การกำหนดค่า LoaderHarness |
ประเภทสาธารณะ
สถานะ
State
รัฐของ servable พื้นฐานจากมุมมองของ LoaderHarness และวัตถุประสงค์ของการสื่อสารระหว่างมันและเป็น ผู้จัดการ
ไม่เทียบเท่ากับสถานะที่แสดงผลได้เชิงความหมายใน servable_state.h
การเปลี่ยนที่ถูกต้อง: kNew>kLoading>kReady>kQuiescing>kQuisced>kUnloading>kDisabled เช่นเดียวกับ: any_state>kError
คุณสมบัติ | |
---|---|
kDisabled | 'รถตักดิน _-> ยกเลิกการโหลด () ' ได้เสร็จสิ้น |
kError | มีข้อผิดพลาดเกิดขึ้นทั้งในระหว่าง 'รถตักดิน _-> โหลด () ' หรือภายนอกของเทียม (และมีรายงานว่าจะเทียมผ่านการเรียกไปยัง ข้อผิดพลาด () ) |
kLoadApproved | เซิร์ฟเวอร์ได้รับการอนุมัติสำหรับการโหลด เช่น ทรัพยากรได้ถูกจัดสรรไว้สำหรับมัน |
kLoadRequested | ผู้จัดการได้รับการร้องขอให้โหลดบริการนี้ |
kLoading | 'รถตักดิน _-> () โหลด ' ได้รับการเรียกว่า |
kNew | สถานะเริ่มต้น |
kQuiesced | Servable ถูกทำให้ไม่สามารถให้บริการได้ |
kQuiescing | Servable จะถูกทำให้ไม่สามารถให้บริการได้ |
kReady | 'รถตักดิน _-> โหลด () ' ได้ประสบความสำเร็จ |
kUnloadRequested | ผู้จัดการได้รับการร้องขอให้ยกเลิกการโหลดเซิร์ฟเวอร์นี้ |
kUnloading | 'รถตักดิน _-> ยกเลิกการโหลด () ' ได้รับการเรียกว่า |
งานสาธารณะ
เสร็จสิ้นQuiescing
Status DoneQuiescing()
เปลี่ยนสถานะเป็น kQuiesced ซึ่งหมายความว่าไม่มีการจัดการสดสำหรับเซิร์ฟเวอร์นี้ที่มีอยู่ในส่วนหน้า
ณ จุดนี้ เราสามารถยกเลิกการโหลดวัตถุนี้
ข้อกำหนด: สถานะเป็น kQuiescing เมื่อถูกเรียก มิฉะนั้น DCHECK จะล้มเหลว เปลี่ยนเป็นสถานะ kError และเรียกใช้ 'options_.error_callback'
ข้อผิดพลาด
void Error( const Status & status )
เปลี่ยนสถานะเป็น kError และเรียกใช้ 'options_.error_callback'
โหลด
Status Load()
การเปลี่ยนไป kLoading, ได้รับมอบหมายให้ Servable :: โหลด () แล้วเปลี่ยนทั้ง kReady ถ้า โหลด () ประสบความสำเร็จหรือ kError (และ options_ จะเรียก'
error_callback ') ถ้า โหลด () ล้มเหลว การโทรนี้อาจใช้เวลานาน
เราลอง Servable::Load() อีกครั้งตามตัวเลือกที่ตั้งไว้ระหว่างการสร้างคลาสนี้ เราหยุดลองอีกครั้งและยกเลิกหาก 1. เราถึง max_num_load_retries หรือ 2. หาก cancel_load() ถูกตั้งค่าเป็น true
ข้อกำหนด: สถานะเป็น kLoadApproved เมื่อถูกเรียก มิฉะนั้น DCHECK จะล้มเหลว เปลี่ยนเป็นสถานะ kError และเรียกใช้ 'options_.error_callback'
LoadApproved
Status LoadApproved()
การเปลี่ยนไปใช้ kLoadApproved
ต้องการ: สถานะคือ kLoadRequested เมื่อถูกเรียก มิฉะนั้น DCHECK จะล้มเหลว เปลี่ยนเป็นสถานะ kError และเรียกใช้ 'options_.error_callback'
LoadRequested
Status LoadRequested()
เปลี่ยนสถานะของสายรัดเป็น kLoadRequested หากสถานะปัจจุบันคือ kNew
การทดสอบและการเปลี่ยนแปลงที่ทำ transactionally ดังนั้นวิธีการนี้สามารถนำมาใช้เพื่อให้มั่นใจว่ามากที่สุดคนหนึ่ง โหลด () คำขอสามารถดำเนินการต่อ
LoaderHarness
LoaderHarness( const ServableId & id, std::unique_ptr< Loader > loader, const Options & options )
LoaderHarness
LoaderHarness( const ServableId & id, std::unique_ptr< Loader > loader, std::unique_ptr< T > additional_state, const Options & options )
ตัวสร้างเพื่อสร้างบังเหียนพร้อมสถานะเพิ่มเติมซึ่งผู้จัดการต้องการ
เริ่มต้นควิซซิ่ง
Status StartQuiescing()
เปลี่ยนสถานะเป็น kQuiescing ซึ่งหมายความว่าเราไม่ต้องการให้การจัดการกับ servable นี้อีกต่อไป
ต้องการ: สถานะคือ kUnloadRequested เมื่อถูกเรียก มิฉะนั้น DCHECK จะล้มเหลว เปลี่ยนเป็นสถานะ kError และเรียกใช้ 'options_.error_callback'
ยกเลิกการโหลด
Status Unload()
การเปลี่ยนไป kUnloading, ได้รับมอบหมายให้ Servable :: ยกเลิกการโหลด () จากนั้นเปลี่ยนไป kDisabled เมื่อ ยกเลิกการโหลด () จะทำ
ข้อกำหนด: สถานะเป็น kQuiesced เมื่อถูกเรียก มิฉะนั้น DCHECK จะล้มเหลว เปลี่ยนเป็นสถานะ kError และเรียกใช้ 'options_.error_callback'
UnloadRequested
Status UnloadRequested()
เปลี่ยนสถานะของสายรัดเป็น kUnloadRequested หากสถานะปัจจุบันคือ kReady
การทดสอบและการเปลี่ยนแปลงที่ทำ transactionally ดังนั้นวิธีการนี้สามารถนำมาใช้เพื่อให้มั่นใจว่ามากที่สุดคนหนึ่ง โหลด () คำขอสามารถดำเนินการต่อ
added_state
T * additional_state()
รับสถานะเพิ่มเติม
ส่งกลับค่า nullptr หากประเภทไม่ตรงกันหรือไม่ได้ตั้งค่าไว้
ยกเลิก_load_retry
bool cancel_load_retry()
id
ServableId id() const
ส่งกลับตัวระบุของ Servable พื้นฐาน
loader_state_snapshot
ServableStateSnapshot< T > loader_state_snapshot()
ส่งคืนสแน็ปช็อตสถานะโดยรวมปัจจุบันของ Servable พื้นฐาน
loader_state_snapshot
ServableStateSnapshot< std::nullptr_t > loader_state_snapshot() const
set_cancel_load_retry
void set_cancel_load_retry( bool value )
สถานะ
Status status()
ไม่ว่าจะมีอะไรผิดพลาดกับ Servable นี้หรือไม่
หากสถานะเป็น kError จะไม่ถือว่าใช้ได้ ถ้าไม่ได้ตกลงข้อผิดพลาดอาจเป็นสิ่งที่เกิดขึ้นใน แหล่งที่มา หรือ SourceAdapter ใน Loader ใน ผู้จัดการ , หรือที่อื่น ๆ มีการรายงานข้อผิดพลาดทั้งหมดที่เกี่ยวข้องกับการแสดงที่นี่ โดยไม่คำนึงถึงแหล่งที่มา
~สายรัดโหลด
~LoaderHarness()
กฎหมายที่จะทำลาย iff สถานะปัจจุบันเป็นหนึ่งใน kNew, kDisabled หรือ kError
การตรวจสอบล้มเหลวหากละเมิด
ฟังก์ชั่นคงที่สาธารณะ
StateDebugString
string StateDebugString( State state )