Celery: Rilis versi 4.3 dari Seledri

Dibuat pada 16 Nov 2018  ·  102Komentar  ·  Sumber: celery/celery

@thedrow @georgepsarakis Akan sangat bagus jika kami dapat merilis versi beta 4.3 pada tanggal 1 Desember. sebelum itu, kita perlu melepaskan py-amqp. kombu dan dependensi lainnya terlebih dahulu. itu adalah pengingat yang lembut

Jika Anda ingin berkontribusi, berikut adalah daftar pemblokir .

Jika Anda menggunakan Seledri untuk membuat produk komersial, harap pertimbangkan untuk menjadi pendukung atau sponsor kami untuk memastikan masa depan Seledri.

Project Governance

Komentar yang paling membantu

Dilepaskan! :tada:

Terima kasih semuanya atas usaha, waktu, dan keterampilan Anda.

Versi berikutnya, Seledri 5 adalah sesuatu yang menarik.

Semua 102 komentar

@auvipy @thedrow @georgepsarakis bisakah kita rilis cepat 4.2.2 hanya untuk batasan redis? karena saat ini bentrok dengan redis terbaru yang memiliki perubahan yang tidak kompatibel

Saya tidak yakin apakah saya akan punya waktu. Saya akan mencoba melakukannya.

Saya dapat melepaskan kali ini tetapi perlu beberapa instruksi yang jelas

Memang gr8 untuk mendapatkan 4.2.2 termasuk perbaikan ketergantungan redis, karena saya sudah menghabiskan terlalu banyak waktu untuk menemukan sumber masalah, dan akan baik untuk siapa pun yang melompat ke dalamnya!

Akankah rilis baru ini mendukung python 3.7?

Ya

Akankah rilis baru ini mendukung redis 3.0.1?

Ya

@auvipy , @thedrow , Ada yang bisa saya bantu untuk rilis ini?

Edisi #5212 sangat penting untuk rilis.
Kami masih perlu menguji Seledri dengan Python 3.7.

@thedrow Sepertinya #5212 sudah diperbaiki jika kita melakukan rilis Kombu, kan?
JIKA itu benar maka kita perlu menambahkan 3.7 pengujian ke CI kita. Saya bisa mengerjakan itu.

py-amqp dan rilis kombu adalah pra-persyaratan, setelah itu, saya dapat memoles pr saya untuk dukungan 3.7 untuk menggabungkannya

@auvipy Maksud Anda PR ini: https://github.com/celery/celery/pull/4859 ?

Saya merilis Kombu 4.2.2 dengan perbaikan itu saja.
Membangun harus lulus sekarang.

Adakah gagasan tentang ETA untuk versi ini yang akan dirilis?

Masih ada beberapa pekerjaan yang harus dilakukan. Kita perlu memperbaiki build untuk Kombu juga.
Saya akan membahas masalah yang tersisa.

@thedrow Ada masalah yang bisa saya ambil alih?
Atau apakah Anda akan membuat daftar masalah yang tersisa di sini?

@xirdneh Anda dapat memeriksa tonggak sejarah https://github.com/celery/celery/milestone/20 .

Saya pikir kami dapat menghapus non-blocker dari tonggak sejarah ini. dan bersandar pada masalah yang tersisa. merilis py-amqp dan paket terkait untuk memeriksa cara kerjanya di seledri 4.3 rc1

Saat ini build untuk master gagal pada Python 3.7.
Lihat https://travis-ci.org/celery/celery/jobs/473236382.

@thedrow Saya pikir ini karena Python 3.7 mengonversi pengecualian StopIteration dimunculkan di generator, menjadi pengecualian RuntimeError , lihat di sini .

Saran saya adalah menambahkan cabang penanganan pengecualian, mendeteksi tipe spesifik RuntimeError :
https://github.com/celery/kombu/blob/e4dc1688a2bfe422813ffc79d9db50c06f38fbaf/kombu/asynchronous/hub.py#L348 -L359

except RuntimeError as e:
  if e.args != ('generator raised StopIteration',):
      raise e

Memang, hal di atas dapat dianggap lemah, tetapi saya pikir itu adalah satu-satunya metode untuk mengidentifikasi konversi pengecualian, dalam kasus khusus ini.

Perbaikan itu tidak benar.
Lihat https://github.com/celery/celery/blob/master/t/unit/worker/test_loops.py#L386
Menurut PEP 479, generator harus menaikkan StopIterator lagi.

Ini harus diperbaiki di #5263.

Sepertinya kami telah menemukan masalah yang lebih serius yang menjadi penghambat menurut saya.
Lihat https://travis-ci.org/celery/celery/jobs/473900629#L3204

Semoga https://github.com/celery/kombu/pull/972 akan menyelesaikan masalah ini.

Build untuk kombu rusak sehingga seluruh rangkaian pengujian tidak berjalan.
Lihat https://travis-ci.org/celery/kombu/jobs/472712374#L1215.

Saya tidak dapat mereproduksi kegagalan pengujian untuk kombu secara lokal :(

@thedrow Saya telah memperbaiki tes kombu yang gagal - lihat PR https://github.com/celery/kombu/pull/978 . Pengujian menggunakan pustaka pyamqp dari master. Tes merusak PR https://github.com/celery/py-amqp/pull/221.

Mungkin buah gantung rendah akan memperbaiki pasangan DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working

py-amqp 2.4.0 sekarang dirilis.
Berikutnya pada gilirannya adalah Kombu.

@thedrow Apa yang hilang untuk rilis 4.3? Kombu PR tampaknya sudah bergabung - apakah kita menunggu rilis baru Kombu? Apakah kita menunggu perbaikan untuk semuanya di https://github.com/celery/celery/milestone/20?

Mencoba melihat di mana saya dapat membantu.

Saya perlu melakukan triase masalah yang penting untuk Kombu 4.3.
Apa saja di https://github.com/celery/celery/issues?q=is%3Aopen+label%3A%22Status%3A+Needs+Test+Coverage+%E2%9C%98%22+milestone%3Av4.3 atau https://github.com/celery/kombu/pull/911 akan membantu.
Saya pikir kami cukup siap untuk rilis Kombu tapi saya perlu memverifikasi.
Sementara itu saya sedang mengerjakan catatan rilis.

Bisakah kami juga menyelesaikan perselisihan di #5259?

Karena saya tidak bisa mengedit celery/kombu#911 saya membuka PR baru: https://github.com/celery/kombu/pull/991

Dan hal yang sama untuk #5206 . Saya membuka #5289

Tentang barang StopIteration itu: Di Kombu diubah menjadi tidak "mengubah" ValueError menjadi StopIteration https://github.com/celery/kombu/pull/972/ file

Namun, di seledri worker.loops.asynloop kesalahan StopIteration ditangkap dan loop baru dibuat dalam kasus itu. Bukankah perubahan kombu tanpa perubahan seledri menyebabkan beberapa masalah? Karena sekarang alih-alih membuat loop baru, loop yang ada (tapi rusak?) terus digunakan?

https://github.com/celery/celery/blob/c1d0bfea9ad98477cbc1def99157fe5109555500/celery/worker/loops.py#L92

@larsrinn tolong buka masalah tentang itu sehingga kami tidak akan lupa untuk memeriksanya.

Saat menulis tiket, saya menemukan bahwa tidak ada tindakan yang diperlukan karena pengembalian dari generator menghasilkan StopIteration . Perilaku eksternal kombu yang menjadi andalan seledri di sini tidak boleh diubah. Lihat misalnya:

def len_generator(max_):
    a = 0

    while True:
        yield a
        a += 1
        if a == max_:
            return


g = len_generator(2)
print(next(g))  # 0
print(next(g))  # 1
print(next(g))  # raises StopIteration

Tes yang gagal pada CI untuk Python 3.7 juga lulus jika dijalankan melawan cabang master kombu. Setidaknya bagi saya secara lokal. Jadi ketika versi baru kombu dirilis, tes yang gagal dalam pekerjaan ini harus lulus: https://travis-ci.org/celery/celery/jobs/482062153

Apakah ini termasuk perbaikan untuk masalah async?
saya berharap ini akan dirilis secepat mungkin.

Ya, saya juga menunggunya.

Tapi saya harus mengatakan saya agak takut tentang masa depan seledri. Python 3.7 sudah keluar selama 7 bulan dan masih belum didukung. Saya tahu proyek ini dijalankan oleh sukarelawan yang mungkin memiliki banyak hal lain untuk dilakukan. Tetapi saya menyumbangkan beberapa PR dalam beberapa minggu terakhir, sebagian besar menambahkan cakupan tes dan membuat CI lulus. Sepertinya tidak satu pun dari mereka telah dilihat, apalagi digabungkan, meskipun semuanya sangat kecil, ulasan harus dapat dilakukan dalam beberapa menit, bahkan beberapa detik. Ini adalah pengalaman berkontribusi yang cukup mengecewakan.

Ini akan menjadi peningkatan besar untuk proyek untuk melakukan rilis yang jauh lebih kecil. 4.3 adalah rilis besar yang masih perlu diperbaiki, dan sementara itu banyak pengguna memiliki masalah kritis seperti kebocoran memori yang parah , yang dapat diperbaiki dengan cepat dalam rilis 4.2.X. Bahkan kontribusi perbaikan tertentu tidak terlalu berguna karena tidak akan dirilis selama berbulan-bulan.

@larsrinn Saya akan meninjau PR Anda jika saya punya waktu.

Ini akan menjadi peningkatan besar untuk proyek untuk melakukan rilis yang jauh lebih kecil. 4.3 adalah rilis besar yang masih perlu diperbaiki, dan sementara itu banyak pengguna memiliki masalah kritis seperti kebocoran memori yang parah, yang dapat diperbaiki dengan cepat dalam rilis 4.2.X. Bahkan kontribusi perbaikan tertentu tidak terlalu berguna karena tidak akan dirilis selama berbulan-bulan.

Ya, saya pasti bisa mendukung ini. Mempertimbangkan bahwa seledri adalah proyek yang cukup matang dengan serangkaian fitur besar, saya kira bagi sebagian besar pengguna, jauh lebih penting bahwa masalah kritis diperbaiki dengan cepat dan kompatibilitas ke versi terbaru dipastikan daripada menambahkan fitur baru/menghentikan hal-hal lama.

Saya sangat setuju dengan pernyataan di atas. Dukungan Python 3.7 adalah hal terpenting bagi saya saat ini.

Apakah ada opsi untuk menambahkan pengelola tambahan?

Sebagian besar perusahaan tempat saya bekerja selama 9 tahun terakhir menggunakan Seledri dalam satu atau lain cara. Yang terakhir, kami bahkan memiliki garpu sendiri untuk menerapkan perbaikan yang kami butuhkan, mengingat bahwa masalah kami tidak diperbaiki di cabang utama.

Menurut pendapat saya, proyek ini perlu memulai program sponsorship, seperti yang dimiliki Django dan DRF. Buat perusahaan membayar semua keuntungan yang mereka hasilkan berkat proyek luar biasa ini dan berikan uang itu kepada pengembang sehingga mereka bekerja penuh waktu untuk ini.

Seledri sedikit rusak terhadap pytest saat ini (modul populer lainnya); #5271 menjelaskan masalahnya dan #5097 memperbaikinya. Mungkin jika rilis 4.3 menjadi terlalu menakutkan, versi minor yang menabrak 4.2.2 dapat menggulung beberapa perbaikan yang lebih kecil (#5271 dan perbaikan bug lainnya)? Saya menyadari ini mungkin lebih mudah diucapkan daripada dilakukan, tetapi mungkin memungkinkan banyak dari kita untuk bergabung kembali dengan siklus rilis alih-alih mempertahankan garpu kita sendiri sambil menunggu 4.3. Terima kasih untuk modul yang luar biasa ini.

jadi perusahaan mana yang akan mensponsori pekerjaan kita? Apakah ada yang tertarik? Saya akan sangat tertarik untuk mendapatkan beberapa perusahaan yang mendukung waktu saya untuk bekerja dengan seledri paruh waktu/penuh waktu!

Saya yakin jika ada pengaturan yang tepat untuk donasi rutin, akan lebih mudah bagi perusahaan untuk hanya berlangganan dukungan bulanan dan melupakannya. Ini mungkin sumber pendapatan yang lebih stabil daripada tombol donasi satu kali paypal sederhana. Misalnya, saya dapat dengan mudah meyakinkan perusahaan saya untuk melakukannya, daripada meminta mereka memberi banyak sekaligus, atau mengingat mereka untuk memberikan sumbangan rutin secara manual.

Saya akan menambahkan juga, untuk proyek kami, seledri adalah satu-satunya pemblokir yang mencegah kami meningkatkan ke python 3.7

satu tautan terkait: https://tidelift.com/

Saya pikir sponsorship sangat mungkin, tetapi Anda perlu menanamkan ide di kepala orang. Misalnya di luar utas ini, tidak ada yang berpikir bahwa proyek ini mungkin memerlukan dukungan, mereka hanya mengunduh dan menginstal seledri dan menganggapnya "ada". Saya pikir, jika kalian telah memulai penggalangan dana, banyak perusahaan akan menyumbang.
Saya melihat tautan donasi di README dan berkontribusi sedikit dari akun pribadi, tetapi masih terlalu kabur untuk diperhatikan oleh perusahaan. Itu harus tepat di depan mereka (setidaknya di semua jejaring sosial) dan harus memiliki ajakan bertindak yang tepat. Misalnya jika Anda seorang pengembang dan Anda tahu perusahaan Anda bergantung pada seledri, mintalah manajer Anda untuk menyumbang.
Saya dapat mengatakan bahwa setiap kali saya melihat penggalangan dana terorganisir dari proyek open source yang saya suka, saya selalu mencoba untuk menyumbang atau setidaknya menyebarkan kampanye media sosial mereka. Saya yakin banyak orang melakukan hal yang sama.

Saya menjalankan penggalangan dana dan itu berubah menjadi kegagalan besar!! kami memiliki opsi opencollective dan pasang surut terbuka di readme. orang yang tertarik dapat menyumbang / mensponsori di sana atau ping saya langsung di email saya.

@auvipy Saya melihat sebagian besar masalah di tonggak 4.3 dipindahkan atau ditutup sekarang.
Apakah kami berencana melakukan rilis 4.3 segera?

Ya!!! karena sudah lama tertunda!!

Saya ikut. Harapkan RC segera.

Saya menjalankan penggalangan dana dan itu berubah menjadi kegagalan besar!! kami memiliki opsi opencollective dan pasang surut terbuka di readme. orang yang tertarik dapat menyumbang / mensponsori di sana atau ping saya langsung di email saya.

Penulis seledri. Saya telah menjadi pendukung dari https://opencollective.com/celery. Terima kasih atas alat Anda yang luar biasa. Alat Anda sangat membantu saya :)

Adakah yang keberatan dengan codename 4.3 sebagai Rhubarb ?
Ini salah satu trek favorit saya dari Selected Ambient Works II.

Jika Anda memiliki saran lain, harap dicatat di sini.

Saya suka itu :)

Kombu 4.3 sekarang dirilis!

Bisakah seseorang melihat build Windows kami?
Beberapa tes gagal.
Juga, kami kehilangan beberapa versi Python di sana, kami harus menambahkannya (walaupun itu bukan pemblokir).

@thedrow Di mana build Windows berjalan? Appveyor?

Bisakah seseorang melihat build Windows kami?
Beberapa tes gagal.
Juga, kami kehilangan beberapa versi Python di sana, kami harus menambahkannya (walaupun itu bukan pemblokir).

PR di sini https://github.com/celery/celery/pull/5329

Jadi 4.3 bagus untuk pergi sekarang?

Hai! Anda menutup masalah ini, tetapi versi di pypi masih 4.2.1. Apakah ada tempat kami dapat melacak rilis di pypi? Terima kasih.

Hai teman-teman,

@seirl Saya percaya bahwa masalah ini ditutup secara tidak sengaja karena deskripsi #5329 berisi teks Fixes #5180 .

@auvipy Bisakah Anda membuka kembali masalah ini sampai 4.3 tidak benar-benar dirilis?
Terima kasih!

Buruk saya, saya pikir tutup otomatis hanya akan menjadi pilihan untuk pullee

ini ditutup secara otomatis oleh GitHub!!!

@xirdneh ya.

Saya hampir selesai dengan Changelog. Saya masih harus menguraikan beberapa item dan saya harus menyelesaikan penambahan item yang tersisa yang belum saya dapatkan.

Bagian apa yang baru sebagian besar masih belum lengkap.

Jangan ragu untuk membantu dengan cara apa pun yang memungkinkan.

Kami memiliki pemblokir potensial untuk GA: https://github.com/celery/kombu/issues/1006
RC akan berjalan sesuai rencana.
Dapatkah seseorang yang memiliki akses ke FreeBSD menginstall debug ini?

Halo semuanya. Ada ETA?

Saya baru saja menyelesaikan catatan rilis untuk RC pertama.
Ini akan dirilis hari ini.

Apakah Anda memiliki ETA untuk rilis stabil?

Setelah ini dicoba dalam produksi selama beberapa minggu, kami akan mendeklarasikan GA.
Dalam waktu dekat kami akan memperbaiki proses rilis kami dan mendokumentasikannya sehingga semuanya menjadi lebih jelas.

RC1 dilepaskan. :tada:
Silakan coba di lingkungan pementasan Anda.

Sementara itu, jika seseorang dapat melihat lebih dekat di https://github.com/celery/kombu/issues/1006 , https://github.com/celery/kombu/issues/1007 dan https://github. com/celery/kombu/issues/1004 yang semuanya merupakan regresi dari Kombu 4.3, yang akan membantu kami mencapai GA.

Karena https://github.com/celery/kombu/issues/1004 tampaknya berada di area yang sama, saya juga mencoba memperbaikinya: https://github.com/celery/kombu/pull/1010

Keduanya kini telah menyatu.

@lithammer Terima kasih!

Karena ini sangat menyenangkan, saya datang dengan tidak hanya satu, tetapi dua proposal solusi untuk masalah terakhir (https://github.com/celery/kombu/issues/1006):

Saya mengambil istirahat sejenak dari catatan rilis untuk menulis https://github.com/celery/py-amqp/pull/258.
Saya akan melanjutkan dengan dokumen apa yang baru.

Saya merilis Kombu 4.4 dan Seledri 4.3.0RC2.
Kecuali jika ada keberatan atau perbaikan kritis, ini akan menjadi RC terakhir.

Saya baru saja merilis py-amqp 2.4.3 juga.
Ini memperbaiki dua bug deserialisasi yang parah. Saya belum mendengar apa-apa tentang mereka dalam produksi.
Mungkin karena tidak ada pesan dalam protokol AMQP dengan dua bitmap konsekuen.
Perbaikan ada di sana untuk kelengkapan karena saya kira mereka bisa merusak Seledri.

Terima kasih atas kerja bagusnya @thedrow.

Pemblokir potensial untuk GA: https://github.com/celery/celery/issues/5371

@thedrow Saya mungkin punya waktu minggu ini untuk memverifikasi ini. Saya akan memperbarui masalah ini jika saya bisa.

@xirdneh Harap perbarui jika tidak dan saya akan mengurusnya.

@lithammer Jika Anda ingin berkontribusi lebih banyak, saya bahkan akan memberi Anda hak komit :)

Pemblokir pasti untuk GA: #5377

Saya telah menyelesaikan dokumen apa yang baru untuk rilis ini.

Harap tinjau dan beri tahu saya jika saya melewatkan sesuatu.

@thedrow tampaknya cukup teliti dan informatif! Namun satu catatan, saya tidak yakin apakah itu dimasukkan secara otomatis, tetapi bagi saya sepertinya daftar kontributor belum ditambahkan?

Saya belum membuat daftar kontribusi.
Saya akan melakukannya tepat sebelum GA.

Berikut daftar pemblokir rilis kami saat ini:

Pemblokir Potensial:

@thedrow Saya pikir https://github.com/celery/celery/issues/5383 juga valid.

Saya baru saja merilis Seledri 4.3.0rc3.
Ini termasuk fitur baru dan perbaikan bug dan beberapa pemblokir yang diselesaikan.

Apakah Anda mungkin tahu kapan versi lengkap akan tersedia?

Ketika kita akan selesai menyelesaikan semua pemblokir.

Hanya satu pemblokir yang tersisa dan dari beberapa tugas dokumentasi akhir.

@thedrow sepertinya seledri/kombu#1014 telah ditutup oleh PR berbasis revert. Namun, itu tidak ditampilkan selengkap pada daftar periksa. Apakah tidak lengkap karena kata kunci unique masih perlu didukung?

Ya. Saya akan melakukan itu dan tugas dokumentasi terakhir besok.

Dilepaskan! :tada:

Terima kasih semuanya atas usaha, waktu, dan keterampilan Anda.

Versi berikutnya, Seledri 5 adalah sesuatu yang menarik.

Saya ingin mulai menghapus python2 dari master

Bisakah saya tahu kapan Seledri 5 akan dirilis? Saya sangat bersemangat untuk menggunakannya.

mungkin beberapa kali sebelum Natal :)

@auvipy Bisakah Anda mengeluarkan posting blog tentang 4.3?

ya tentu saja, mulai kast ng=ight tapi sibuk. akan selesai hari ini.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat