Cross-posting ke Media Sosial: Menyelami State, Idempotensi, dan Kiril yang Rusak
LiveDune
Seorang insinyur berbagi pelajaran dari otomatisasi cross-posting artikel blog ke jejaring sosial. Tugas itu ternyata menjadi alur kerja yang kompleks dengan banyak titik kegagalan, membutuhkan penanganan hati-hati terhadap waktu tunggu, format gambar, respons API, dan pengkodean teks. Poin penting termasuk memisahkan paket, transport, dan kendali mutu, serta menggunakan gerbang keras untuk verifikasi.
Penulis ditugaskan untuk mengotomatiskan cross-posting artikel blog ke jejaring sosial, termasuk membuat pengumuman singkat, menulis ulang konten untuk Dzen dan Spark, melampirkan gambar, menyetel tag UTM, dan memublikasikan ke Telegram serta saluran lainnya. Upaya awal dengan agen AI mengungkap banyak jebakan: pos Telegram sebenarnya terkirim tetapi CLI mengembalikan error timeout, tautan Markdown secara visual menyatu dengan teks, gambar WebP menjadi PNG yang sangat besar, VK kena pemeriksaan anti-bot, OK kehilangan kartu pratinjau, dan Google Docs berisi karakter rusak (U+FFFD). Penulis menyadari bahwa cross-posting bukanlah satu operasi melainkan sebuah pipeline dengan zona kegagalan yang independen, dan menyusunnya sebagai sumber → paket konten → resolusi media → transport → verifikasi → laporan. Wawasan kunci: timeout tidak berarti pos tidak terbit, jadi percobaan ulang harus didasarkan pada verifikasi aktual; otomatisasi browser tidak andal dan harus menjadi cadangan; respons API seperti HTTP 201 tidak menjamin pengiriman, jadi setiap platform harus memiliki status akhir yang terverifikasi; gambar perlu validasi dan resolusi yang tepat (misalnya, konversi WebP ke PNG menurunkan aset sepuluh kali lipat); dan kerusakan encoding teks (U+FFFD) harus ditangkap dengan gerbang keras, karena tidak bisa diperbaiki dengan penggantian sederhana. Untuk penulisan ulang, penulis menggunakan HTML lengkap dengan sanitasi daripada JSON untuk menghindari CTA dan banner, dan membatasi pemrosesan hanya satu artikel baru per proses.
Sumber: Habr — хаб ИИ —
asli
