Saya mencari dukungan streaming ... adakah yang mengerjakan 1.0? ... kalau tidak kenapa PR yang lain ditutup
Hai @grosser , alasannya diungkapkan dalam https://github.com/lostisland/faraday/pull/604#issuecomment -259125910 ini.
Alasan utamanya adalah bahwa PR hanya kompatibel dengan adaptor Net::HTTP
dan fakta bahwa streaming telah ditandai untuk v1.0.
Tidak ada peta jalan untuk v1.0 saat ini, jadi tidak ada yang secara aktif mengerjakan streaming untuk saat ini.
@iMacTia Saya agak kecewa karena Anda mengatakan "tidak ada yang secara aktif mengerjakan streaming" karena tampaknya Anda menekan pekerjaan di #604 (juga #522, #461) dengan mengatakan "Tunggu, ini akan ada di rilis berikutnya" , tapi kemudian tidak bekerja di atasnya. Mengapa tidak menerima perubahan komunitas mengingat tampaknya tidak ada momentum oleh tim inti?
@jcoyne Saya tidak bermaksud bahwa streaming belum masuk KARENA "tidak ada yang aktif mengerjakan streaming". Saya sepenuhnya sadar bahwa fakta bahwa tidak ada yang mengerjakannya adalah kesalahan saya. Namun, saya telah menjelaskan mengapa saya mendorong kembali #604 dan masalahnya bukan pada implementasinya.
Untuk mendapatkan 604 bergabung dalam salah satu hal berikut harus terjadi terlebih dahulu:
Saya mohon maaf karena lambat dan tidak memiliki cukup waktu untuk berinvestasi dalam mengerjakan salah satu solusi di atas.
Saya mengerti Anda akan senang dengan hanya #604 yang digabungkan karena Anda mungkin hanya membutuhkan dukungan untuk Net::HTTP, tetapi bukan itu cara kerjanya ketika Anda harus memelihara permata dan saya tidak bisa membuatnya sesederhana itu.
@iMacTia Saya tidak berharap Anda mengerahkan semua upaya Anda untuk rilis ini, saya hanya frustrasi tentang efek mengerikan dari menutup/menolak permintaan tarik yang telah dikerjakan beberapa orang dan tidak memiliki masalah teknis yang diketahui. Jika Anda tidak punya waktu, bukankah masuk akal untuk membiarkan orang lain membantu?
Saya mengerti mengapa dukungan untuk semua adaptor lain diinginkan, tetapi saya pikir Anda terlalu ketat dengan interpretasi Anda tentang pola adaptor. Pola adaptor menuntut konsistensi cara Anda melakukan satu interaksi, tetapi saya tidak akan mengatakan itu menuntut bahwa setiap adaptor mendukung setiap fitur. Ada banyak perpustakaan berguna di luar sana yang menggunakan definisi yang lebih longgar ini (mis. edgeapi.rubyonrails.org/classes/ActiveJob/QueueAdapters.html#module-ActiveJob::QueueAdapters-label-Backends+Features)
Sejujurnya, saya pribadi setuju dengan kalimat terakhir Anda.
Saya suka cara ActiveJob bekerja dan fakta bahwa Anda dapat menambahkan permata yang kompatibel ke aplikasi Anda dan hanya menggunakannya sebagai QueueBackend (misalnya Sidekiq).
Di sisi lain, ini bukan situasi saat ini untuk Faraday, ini bukan visi asli tim inti dan bukan hal yang biasa dilakukan semua orang.
Sebagai contoh, di #486 seorang pengguna mengeluh tentang masalah ini:
Saya berharap Faraday hanya berfungsi saat menukar adaptor.
Dan itulah yang diterapkan oleh @mislav dan anggota tim inti lainnya sejak awal.
Jadi saya harap Anda akan mengerti, karena saya sangat memahami kebutuhan Anda, bahwa sebagai anggota terakhir yang bergabung dengan Faraday, saya tidak bisa begitu saja membuang keputusan masa lalu dan mulai melakukan apa yang saya inginkan. Yang berarti streaming harus didukung oleh semua adaptor sebelum saya dapat menggabungkannya dalam aliran 0.x.
Contoh PR lain ditutup karena alasan yang sama: #485, #498, https://github.com/lostisland/faraday/pull/339#issuecomment -145872698
Faraday 1.0 berbeda, yang memberi saya lebih banyak kebebasan (saya memang harus mempertahankan kompatibilitas mundur sebanyak mungkin, itu tidak berarti saya dapat melakukan apa pun yang saya inginkan ). Dan itulah mengapa saya menyarankan untuk menghentikan dukungan asli untuk semua adaptor, tetapi memindahkannya ke permata eksternal seperti yang terjadi dengan Thypoeus. Ini akan memiliki banyak keuntungan dan akan membuat struktur lebih mirip dengan ActiveJob
, membenarkan hal-hal seperti dukungan parsial.
Untuk alasan ini, saya melihat streaming sebagai fitur 1.0 dan saya harus membekukannya untuk sementara waktu.
Ini akan memakan waktu lebih lama, tapi itu berarti melakukan sesuatu dengan benar untukku. Saya ingin menjelaskannya sejelas mungkin: Saya tidak menutup PR demi membuang waktu siapa pun, saya hanya mencoba membantu mendorong proyek ini ke depan (kami akan tetap 0.9.x jika tidak) menghormati tim inti penglihatan.
Jika Anda tidak punya waktu, bukankah masuk akal untuk membiarkan orang lain membantu?
Hanya catatan terakhir tentang ini: SEMUA ORANG dipersilakan untuk membantu. Begitulah cara kerja Open Source! Namun, kita juga harus menghormati visi tim inti ketika kita berkontribusi pada sesuatu. Kita boleh setuju dan tidak setuju dengan mereka (saya juga tidak setuju dengan mereka dalam beberapa hal!), tetapi kita harus menghormati pilihan mereka karena jika Faraday seperti sekarang ini, itu pasti berkat banyak kontributor, tetapi juga berkat tim inti mengelola semua Isu/PR dan mengembangkan proyek dengan cara yang jelas dan logis (dan percayalah, yang terakhir ini jauh lebih memakan waktu daripada kontribusi sporadis). Jika bukan karena mereka menyaring atau menyesuaikan input kontributor, kita mungkin tahu Faraday yang sama sekali berbeda hari ini, dan saya tidak yakin itu akan lebih baik daripada yang sebenarnya kita ketahui.
Masalah ini sekarang telah diubah menjadi sebuah proyek .
Komentar yang paling membantu
Sejujurnya, saya pribadi setuju dengan kalimat terakhir Anda.
Saya suka cara ActiveJob bekerja dan fakta bahwa Anda dapat menambahkan permata yang kompatibel ke aplikasi Anda dan hanya menggunakannya sebagai QueueBackend (misalnya Sidekiq).
Di sisi lain, ini bukan situasi saat ini untuk Faraday, ini bukan visi asli tim inti dan bukan hal yang biasa dilakukan semua orang.
Sebagai contoh, di #486 seorang pengguna mengeluh tentang masalah ini:
Dan itulah yang diterapkan oleh @mislav dan anggota tim inti lainnya sejak awal.
Jadi saya harap Anda akan mengerti, karena saya sangat memahami kebutuhan Anda, bahwa sebagai anggota terakhir yang bergabung dengan Faraday, saya tidak bisa begitu saja membuang keputusan masa lalu dan mulai melakukan apa yang saya inginkan. Yang berarti streaming harus didukung oleh semua adaptor sebelum saya dapat menggabungkannya dalam aliran 0.x.
Contoh PR lain ditutup karena alasan yang sama: #485, #498, https://github.com/lostisland/faraday/pull/339#issuecomment -145872698
Faraday 1.0 berbeda, yang memberi saya lebih banyak kebebasan (saya memang harus mempertahankan kompatibilitas mundur sebanyak mungkin, itu tidak berarti saya dapat melakukan apa pun yang saya inginkan ). Dan itulah mengapa saya menyarankan untuk menghentikan dukungan asli untuk semua adaptor, tetapi memindahkannya ke permata eksternal seperti yang terjadi dengan Thypoeus. Ini akan memiliki banyak keuntungan dan akan membuat struktur lebih mirip dengan
ActiveJob
, membenarkan hal-hal seperti dukungan parsial.Untuk alasan ini, saya melihat streaming sebagai fitur 1.0 dan saya harus membekukannya untuk sementara waktu.
Ini akan memakan waktu lebih lama, tapi itu berarti melakukan sesuatu dengan benar untukku. Saya ingin menjelaskannya sejelas mungkin: Saya tidak menutup PR demi membuang waktu siapa pun, saya hanya mencoba membantu mendorong proyek ini ke depan (kami akan tetap 0.9.x jika tidak) menghormati tim inti penglihatan.
Hanya catatan terakhir tentang ini: SEMUA ORANG dipersilakan untuk membantu. Begitulah cara kerja Open Source! Namun, kita juga harus menghormati visi tim inti ketika kita berkontribusi pada sesuatu. Kita boleh setuju dan tidak setuju dengan mereka (saya juga tidak setuju dengan mereka dalam beberapa hal!), tetapi kita harus menghormati pilihan mereka karena jika Faraday seperti sekarang ini, itu pasti berkat banyak kontributor, tetapi juga berkat tim inti mengelola semua Isu/PR dan mengembangkan proyek dengan cara yang jelas dan logis (dan percayalah, yang terakhir ini jauh lebih memakan waktu daripada kontribusi sporadis). Jika bukan karena mereka menyaring atau menyesuaikan input kontributor, kita mungkin tahu Faraday yang sama sekali berbeda hari ini, dan saya tidak yakin itu akan lebih baik daripada yang sebenarnya kita ketahui.