Lewati ke isi

Pengembangan Skrip / Mengembalikan Data dalam Jumlah Besar DFF.RESP_LARGE_DATA

Saat mengembalikan konten berukuran MB atau lebih besar, return langsung akan menambah overhead serialisasi JSON, antrean pesan Redis, dan komunikasi jaringan internal. DFF.RESP_LARGE_DATA(...) menulis konten ke file sementara dan mengembalikannya sebagai respons file, sehingga menghindari pengiriman nilai lengkap dalam pesan internal.

Parameter

Parameter Tipe Wajib / Default Keterangan
data str / dict / list / tuple Wajib Teks berukuran besar atau data yang dapat diserialisasi ke JSON
content_type str Diinferensikan otomatis Dictionary, list, dan tuple secara default json, tipe lainnya secara default txt; dapat juga ditentukan secara eksplisit
Contoh
1
2
3
@DFF.API('Ekspor JSON Besar')
def export_large_json():
    return DFF.RESP_LARGE_DATA({'items': load_many_items()}, content_type='json')

Semua layanan Web dan Worker harus mengakses penyimpanan sumber daya yang sama

Metode ini bergantung pada direktori sumber daya bersama. Pada deployment dengan ketersediaan tinggi atau multi-Worker, pastikan konfigurasi dan mount direktori sumber daya konsisten.

Data non-string harus dapat diserialisasi ke JSON. Data biner harus ditulis terlebih dahulu ke direktori sumber daya, lalu dikembalikan menggunakan DFF.RESP_FILE(...).

content_type harus menggunakan label pendek yang tetap, seperti json, txt, atau html; jangan meneruskan string MIME, teks path, atau nilai dari permintaan.

Nilai positif DFF.API(cache_result=...) dapat menyimpan respons yang dihasilkan untuk digunakan kembali sebagai cache; jika cache tidak diaktifkan, file sementara akan dihapus setelah respons dikirim. Script tidak boleh bergantung pada nama file sementara atau durasi penyimpanannya. Data kecil harus langsung return; gunakan metode ini hanya pada skenario data besar.