Resource Waiter menunggu beberapa kondisi akhir dalam resource RuntimeConfig terpenuhi sebelum ditampilkan kembali. Misalnya, Anda memiliki sistem terdistribusi dengan setiap node menulis ke resource Variabel yang menunjukkan kesiapan node sebagai bagian dari proses startup.
Kemudian, Anda mengonfigurasi resource Waiter dengan kondisi keberhasilan yang ditetapkan untuk menunggu hingga sejumlah node melakukan check in. Setelah itu, aplikasi Anda akan menjalankan beberapa kode arbitrer setelah kondisi terpenuhi dan pelayan berhasil ditampilkan.
Setelah dibuat, resource Waiter tidak dapat diubah.
Untuk mempelajari lebih lanjut cara menggunakan waiter, baca dokumentasi Membuat Waiter.
[PROJECT_ID] harus berupa ID project Google Cloud yang valid, [CONFIG_NAME] harus berupa resource RuntimeConfig yang valid, [WAITER_NAME] harus cocok dengan spesifikasi segmen RFC 1035, dan panjang [WAITER_NAME] harus kurang dari 64 byte.
Setelah membuat resource Waiter, Anda tidak dapat mengubah nama resource.
[Wajib] Menentukan waktu tunggu pelayan dalam detik, dimulai dari saat metode waiters().create dipanggil. Jika waktu ini berlalu sebelum kondisi keberhasilan atau kegagalan terpenuhi, waiter akan gagal dan menetapkan kode error ke DEADLINE_EXCEEDED.
Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's'. Contoh: "3.5s".
[Opsional] Kondisi kegagalan waiter ini. Jika kondisi ini terpenuhi, done akan ditetapkan ke true dan kode error akan ditetapkan ke ABORTED. Kondisi kegagalan lebih diutamakan daripada kondisi keberhasilan. Jika kedua kondisi terpenuhi, kegagalan akan ditunjukkan. Nilai ini bersifat opsional; jika tidak ada kondisi kegagalan yang ditetapkan, satu-satunya skenario kegagalan adalah waktu tunggu habis.
[Wajib] Kondisi keberhasilan. Jika kondisi ini terpenuhi, done akan ditetapkan ke true dan nilai error akan tetap tidak ditetapkan. Kondisi kegagalan lebih diutamakan daripada kondisi keberhasilan. Jika kedua kondisi terpenuhi, kegagalan akan ditunjukkan.
Kondisi Kardinalitas untuk resource Penunggu. Kondisi kardinalitas terpenuhi jika jumlah variabel dalam awalan jalur yang ditentukan mencapai jumlah yang telah ditentukan. Misalnya, jika Anda menetapkan kondisi Kardinalitas dengan path ditetapkan ke /foo dan jumlah jalur ditetapkan ke 2, variabel berikut akan memenuhi kondisi dalam resource RuntimeConfig:
/foo/variable1 = "value1"
/foo/variable2 = "value2"
/bar/variable3 = "value3"
Namun, kondisi yang sama tidak akan terpenuhi dengan number yang ditetapkan ke 3 karena hanya ada 2 jalur yang dimulai dengan /foo. Kondisi kardinalitas bersifat rekursif; semua sub-pohon di bawah awalan jalur tertentu dihitung.
Representasi JSON
{"path": string,"number": number}
Kolom
path
string
Akar sub-pohon variabel yang akan dipantau. Misalnya, /foo.
number
number
Variabel angka di bagian path yang harus ada untuk memenuhi kondisi ini. Jika tidak ditentukan, setelan defaultnya adalah 1.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-03-04 UTC."],[[["\u003cp\u003eA Waiter resource monitors a RuntimeConfig resource, waiting for a specified success condition to be met before returning.\u003c/p\u003e\n"],["\u003cp\u003eWaiters have a timeout period and can also be configured with a failure condition, which takes precedence over the success condition, causing the waiter to fail if both are met.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eEndCondition\u003c/code\u003e for a Waiter is defined by a \u003ccode\u003eCardinality\u003c/code\u003e, which checks if a certain number of variables exist under a specific path prefix in the RuntimeConfig.\u003c/p\u003e\n"],["\u003cp\u003eCardinality conditions are recursive and count all subtrees under a specified path, and the \u003ccode\u003enumber\u003c/code\u003e field defaults to 1 if not set.\u003c/p\u003e\n"],["\u003cp\u003eYou can create, delete, get, list, and check permissions on a waiter with the various methods provided.\u003c/p\u003e\n"]]],[],null,["# REST Resource: projects.configs.waiters\n\n- [Resource: Waiter](#Waiter)\n - [JSON representation](#Waiter.SCHEMA_REPRESENTATION)\n- [EndCondition](#EndCondition)\n - [JSON representation](#EndCondition.SCHEMA_REPRESENTATION)\n- [Cardinality](#Cardinality)\n - [JSON representation](#Cardinality.SCHEMA_REPRESENTATION)\n- [Methods](#METHODS_SUMMARY)\n\nResource: Waiter\n----------------\n\nA Waiter resource waits for some end condition within a RuntimeConfig resource to be met before it returns. For example, assume you have a distributed system where each node writes to a Variable resource indicating the node's readiness as part of the startup process.\n\nYou then configure a Waiter resource with the success condition set to wait until some number of nodes have checked in. Afterwards, your application runs some arbitrary code after the condition has been met and the waiter returns successfully.\n\nOnce created, a Waiter resource is immutable.\n\nTo learn more about using waiters, read the [Creating a Waiter](/deployment-manager/runtime-configurator/creating-a-waiter) documentation.\n\nEndCondition\n------------\n\nThe condition that a Waiter resource is waiting for.\n\nCardinality\n-----------\n\nA Cardinality condition for the Waiter resource. A cardinality condition is met when the number of variables under a specified path prefix reaches a predefined number. For example, if you set a Cardinality condition where the `path` is set to `/foo` and the number of paths is set to `2`, the following variables would meet the condition in a RuntimeConfig resource:\n\n- `/foo/variable1 = \"value1\"`\n- `/foo/variable2 = \"value2\"`\n- `/bar/variable3 = \"value3\"`\n\nIt would not satisfy the same condition with the `number` set to `3`, however, because there is only 2 paths that start with `/foo`. Cardinality conditions are recursive; all subtrees under the specific path prefix are counted."]]