Rumah > Soal Jawab > teks badan
1. Saya ingin menggunakan baris gilir untuk menyemak sama ada pesanan telah dibuat selama lebih daripada 15 minit, jika melebihi 15 minit, saya akan mengubah suai pangkalan data kepada pembatalan masa, tetapi saya tidak tahu bagaimana untuk memulakan.
漂亮男人2017-06-06 09:54:43
Fungsi ini boleh dibuat untuk mencetuskan tingkah laku pengguna Contohnya, apabila pengguna menyemak pesanan dan menentukan bahawa ia belum dibayar dan melebihi 15 minit, status pesanan akan ditukar kepada pembatalan tamat masa. Pesanan yang belum dilihat dan statusnya belum dikemas kini boleh dikemas kini pada awal pagi mengikut tugasan yang dijadualkan. Apabila volum pesanan besar, tidak disyorkan untuk menyegerakkan status semua pesanan dalam masa nyata, dan ia tidak bermakna.
怪我咯2017-06-06 09:54:43
Tinjauan pangkalan data: Gunakan tugas berjadual untuk meninjau pangkalan data untuk menanyakan pemprosesan pesanan yang berkaitan Gunakannya apabila volum tidak besar Kaedah ini mudah, praktikal dan mudah diselenggara dalam projek kecil
Baris Berdering: Rujukan: http://mp.weixin.qq.com/s/mvF...
Perkhidmatan giliran: Gunakan pemprosesan giliran tertunda Rujukan: http://tech.youzan.com/queuin...
高洛峰2017-06-06 09:54:43
Penyelesaian yang lebih baik ialah menggunakan roda masa, iaitu baris gilir cincin yang dinyatakan di atas
Ia juga boleh dicapai menggunakan pemberitahuan ruang kekunci Redis Tetapkan masa tamat tempoh kepada 15 minit, dengar acara pemadaman kunci dan lakukan operasi yang sepadan.
滿天的星座2017-06-06 09:54:43
Tidak perlu redis
Ia boleh dicapai dengan MySQL
Rancang:
Tulis skrip PHP, laksanakan proses daemon,
while loop, dan semak perpustakaan Jika pesanan mengambil masa lebih daripada 15 minit, dan pesanan tidak dibayar dan tidak dihantar, operasi pembatalan akan dilakukan