Apabila menghantar e-mel secara berkelompok, anda perlu mendapatkan hasil penghantaran, jadi anda perlu menunggu hasil permintaan.
Adakah terdapat cara untuk PHP meminta antara muka secara tidak segerak, kemudian mendapatkan data, dan kemudian melaksanakan fungsi panggil balik?
Kini ia adalah antara muka permintaan segerak, dan kemudian tunggu, ia sangat perlahan. . Dan cpu pelayan akan meningkat semasa pelaksanaan. .
Minta pencerahan dari Allah
Titik utama sekarang ialah kami tidak mahu menunggu pemulangan permintaan, kerana ia sangat perlahan, dan terus memanggil sekeping kod tertentu apabila terdapat pengembalian. . Barisan redis sudah digunakan dan skrip sedang dilaksanakan
php memasang sambungan berbilang benang. Anda boleh mencapainya dengan memanjangkannya sendiri, dan js juga dilaksanakan dalam satu utas.
Anda boleh cuba menggunakan
reactphp
,workerman
,swoole
perpustakaan ini untuk melaksanakan tugas tak segerakIni boleh dicapai dengan curl_multi yang disertakan dengan php
Sangat digalakkan anda menggunakan workererman Jika anda menggunakan fsockopen, ini hanya dihantar secara tidak segerak, tetapi ia tidak dikembalikan bahasa , beberapa mesej ralat adalah daripada C. Jika anda tahu C anda juga boleh menggunakan ini. Bermula dengan pekerja adalah sangat mudah. Logik pelaksanaan khusus adalah seperti berikut:
Apabila anda perlu menjadi tidak segerak, anda terus memanggil Workerman untuk melaksanakan logik anda ini dilaksanakan secara serentak async pekerja. pekerja balik terus.
Apabila tugas anda selesai, ia akan diserahkan kepada pekerja, dan pekerja akan melaksanakan logik tak segerak anda.
Memberi anda rangka kerja sandaran dengan komunikasi tak segerak PHP di dalamnya
github-php-wesome diterjemahkan
Beratur
1. Simpan maklumat yang perlu dihantar dalam Redis atau cache memori lain.
2.php menyediakan antara muka yang memerlukan akses kepada token kunci Antara muka ini bergelung melalui data e-mel yang dicache dalam redis dan menghantarnya.
3 Terdapat penyelesaian untuk menggunakan tugas berjadual dalam kedua-dua tingkap dan linux Selalu pergi ke http untuk meminta antara muka php ini dan menyelesaikan penghantaran. Ia bersamaan dengan tak segerak.