Pengembangan Skrip / Variabel Bawaan
Untuk memudahkan Skrip memperoleh informasi status operasional terkait saat runtime, DataFlux Func secara langsung menyediakan beberapa variabel yang dapat digunakan langsung di dalam konteks Skrip.
| Variabel Bawaan | Tipe | Lingkup Penerapan | Keterangan | Contoh Nilai |
|---|---|---|---|---|
_DFF_IMAGE_INFO |
dict | Semua | Informasi image saat ini | Lihat di bawah |
_DFF_TRACE_ID |
str | Semua | Trace ID Trace internal Func |
"TRACE-14E6D8D6-1F1A-4A5A-8280-854F6DD8CDB0" |
_DFF_TASK_ID |
str | Semua | ID tugas | "task-2UHeFYPdb6Q7" |
_DFF_ROOT_TASK_ID |
str | Semua | ID tugas utama Untuk tugas utama itu sendiri, selalu "ROOT |
"task-2UHeFYPdb6Q7" |
_DFF_SCRIPT_SET_ID |
str | Semua | ID Kumpulan Skrip | "demo" |
_DFF_SCRIPT_SET_NAME |
str | Semua | Nama Kumpulan Skrip Sama dengan _DFF_SCRIPT_SET_ID |
"demo" |
_DFF_SCRIPT_SET_TITLE |
str | Semua | Judul Kumpulan Skrip | "Contoh" |
_DFF_SCRIPT_ID |
str | Semua | ID Skrip | "demo__basic" |
_DFF_SCRIPT_NAME |
str | Semua | Nama Skrip yaitu bagian tanpa ID Kumpulan Skrip |
"basic" |
_DFF_SCRIPT_TITLE |
str | Semua | Judul Skrip | "Dasar" |
_DFF_FUNC_ID |
str | Semua | ID fungsi | "demo__basic.hello_world" |
_DFF_FUNC_NAME |
str | Semua | Nama fungsi yaitu bagian tanpa ID Skrip |
"hello_world" |
_DFF_FUNC_TITLE |
str | Semua | Judul fungsi | "Fungsi Saya" |
_DFF_FUNC_CHAIN |
list | Semua | Rantai pemanggilan fungsi | [ "demo__basic.run", "demo__basic.hello_world" ] |
_DFF_FUNC_CALL_KWARGS |
dict | Semua | Parameter pemanggilan fungsi | {"x": 1, "y": 2} |
_DFF_ORIGIN |
str | Semua | Asal tugas | "funcAPI" |
_DFF_ORIGIN_ID |
str | Semua | ID asal | "fapi-tDGC12Gdc5H6" |
_DFF_TRIGGER_TIME |
int | Semua | Waktu mulai terjadwal (detik) | 1625651909 |
_DFF_TRIGGER_TIME_MS |
int | Semua | Waktu mulai terjadwal (milidetik) | 1625651909582 |
_DFF_START_TIME |
int | Semua | Waktu mulai aktual (detik) | 1625651910 |
_DFF_START_TIME_MS |
int | Semua | Waktu mulai aktual (milidetik) | 1625651910630 |
_DFF_QUEUE |
int | Semua | Antrian eksekusi | 2 |
_DFF_CRON_EXPR |
str | Tugas Terjadwal | Ekspresi Crontab | * * * * * |
_DFF_HTTP_REQUEST |
dict | API Fungsi Halaman fungsi |
Body permintaan saat pemanggilan API | Lihat di bawah |
Perbedaan antara _DFF_TRIGGER_TIME dan _DFF_START_TIME
_DFF_START_TIME mengacu pada waktu saat fungsi benar-benar dimulai, setara dengan int(time.time()) yang dijalankan di titik masuk fungsi, dan dapat tertunda karena faktor seperti kemacetan antrian.
Sedangkan _DFF_TRIGGER_TIME mengacu pada waktu pemicuan fungsi, yang tidak berubah karena kemacetan antrian, dan dapat dianggap sebagai "waktu mulai terjadwal", dengan nilai sebagai berikut:
| Cara pemanggilan fungsi | Nilai |
|---|---|
| Eksekusi fungsi melalui UI | Waktu layanan API backend menerima permintaan HTTP |
| API Fungsi | Waktu layanan API backend menerima permintaan HTTP |
| Tugas Terjadwal | Waktu tepat yang sesuai dengan ekspresi Crontab |
Saat menggunakan Tugas Terjadwal untuk mengambil data deret waktu pada interval waktu tetap, Anda harus menggunakan _DFF_TRIGGER_TIME dan _DFF_TRIGGER_TIME_MS sebagai acuan, jangan gunakan time.time() sendiri di dalam kode untuk Dapatkan waktu saat ini
Struktur Data _DFF_IMAGE_INFO
_DFF_IMAGE_INFO berisi informasi image DataFlux Func, termasuk nomor versi dan informasi lainnya.
| Field | Deskripsi |
|---|---|
EDITION |
Edisi, nilainya: "original", "GSE", "TSE" |
VERSION |
Nomor versi, contoh: "1.2.3" |
ARCHITECTURE |
Arsitektur, nilainya: "x86_64", "aarch64" |
RELEASE_TIMESTAMP |
Waktu rilis (timestamp UNIX, detik) |
| Contoh Isi _DFF_IMAGE_INFO | |
|---|---|
1 2 3 4 5 6 | |
Struktur Data _DFF_HTTP_REQUEST
_DFF_HTTP_REQUEST berisi detail body permintaan.
Jika ada permintaan sebagai berikut:
| Contoh Permintaan | |
|---|---|
1 2 3 4 5 | |
Maka, nilai _DFF_HTTP_REQUEST adalah sebagai berikut:
| Contoh Isi _DFF_HTTP_REQUEST | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
Field yang terkandung dalam _DFF_HTTP_REQUEST pada versi DataFlux Func yang berbeda mungkin sedikit berbeda, harap mengacu pada yang sebenarnya
Tipe field headers adalah data bertipe IgnoreCaseDict. IgnoreCaseDict mewarisi dict, penggunaannya pada dasarnya sama tetapi tidak membedakan huruf besar/kecil pada nama kunci, seperti beberapa baris kode berikut semuanya dapat diperoleh nilai yang sama
| Python | |
|---|---|
1 2 3 | |