TIPCommon.smp_time
Modul TIPCommon.smp_time menawarkan serangkaian alat komprehensif untuk menangani data temporal dalam integrasi. Alat ini menyederhanakan tugas-tugas kompleks seperti perubahan zona waktu, persistensi stempel waktu untuk konektor, dan fungsi pemantauan penting untuk mendeteksi waktu tunggu eksekusi yang mendekati batas waktu dalam tindakan dan konektor.
Konversi dan manipulasi waktu
Utilitas ini menyediakan metode standar untuk mentransformasi data waktu antarberbagai format, termasuk stempel waktu Unix, string RFC 3339, dan objek datetime Python.
| Fungsi | Parameter | Deskripsi |
|---|---|---|
change_timezone() |
|
Hasil: datetime.datetime
Mengubah objek datetime ke zona waktu baru. Memicu |
convert_string_to_timestamp() |
|
Hasil: int
Mengurai string tanggal dan waktu serta menampilkan stempel waktu Unix yang setara. |
datetime_to_rfc3339() |
|
Hasil: str
Mengonversi objek datetime menjadi string yang kompatibel dengan RFC 3339. |
get_timestamps() |
|
Hasil: tuple[int, int]
Menghitung stempel waktu Unix awal dan akhir berdasarkan deskripsi rentang dan string batas. |
get_timestamps_from_range() |
|
Hasil: tuple[datetime, datetime]
Menghitung objek datetime awal dan akhir yang berasal dari string rentang waktu khusus platform. |
Status dan persistensi
Mempertahankan "Waktu Run Terakhir" sangat penting bagi konektor untuk menghindari penyerapan duplikat. Fungsi ini berinteraksi langsung dengan platform untuk mengelola titik pemeriksaan eksekusi.
| Fungsi | Parameter | Deskripsi |
|---|---|---|
get_last_success_time() |
|
Hasil: time (DataModel)
Mengambil waktu eksekusi terakhir yang berhasil. Jika tidak ada, maka fallback dihitung berdasarkan offset. |
save_timestamp() |
|
Hasil: bool
Menemukan stempel waktu terbaru dalam batch pemberitahuan dan menyimpannya. Menampilkan
|
siemplify_fetch_timestamp() |
|
Hasil: int | datetime
Mengambil langsung titik pemeriksaan eksekusi saat ini dari database platform. |
siemplify_save_timestamp() |
|
Hasil: None
Memperbarui titik pemeriksaan eksekusi platform dengan nilai baru tertentu. |
validate_timestamp() |
|
Hasil: datetime
Memastikan stempel waktu berada dalam periode yang diizinkan. Memunculkan
|
Pemantauan eksekusi
Pemantauan waktu tunggu adalah fitur keselamatan yang penting. Fungsi ini membantu skrip mengidentifikasi saat hampir kehabisan waktu pemrosesan, sehingga skrip dapat berhenti dengan baik dan menyimpan statusnya saat ini.
| Fungsi | Parameter | Deskripsi |
|---|---|---|
is_approaching_action_timeout() |
|
Hasil: bool
Memeriksa apakah skrip tindakan berada dalam periode buffer terakhirnya sebelum penghentian. |
is_approaching_timeout() |
|
Hasil: bool
Mendeteksi apakah konektor telah menggunakan anggaran waktunya berdasarkan 90%
|