Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

pekerjaan cron atau penjadwal PHP

Saya pikir konsep Anda perlu diubah.

PHP tidak dapat menjadwalkan pekerjaan, begitu pula MySQL. Pemicu di MySQL dijalankan ketika kueri mysql terjadi, bukan pada waktu tertentu. Tidak juga

Keterbatasan ini biasanya tidak menjadi masalah dalam pengembangan web. Alasannya karena aplikasi PHP Anda harus mengontrol semua data yang masuk dan keluar. Biasanya, ini berarti hanya HTML yang menampilkan data itu, atau format lain kepada pengguna, atau program lain.

Dalam kasus Anda, Anda dapat memikirkannya dengan cara ini. Batas waktu adalah tanggal yang ditentukan. Anda dapat memperlakukannya sebagai data, dan menyimpannya ke database Anda. Ketika tenggat waktu terjadi tidak penting, itu adalah bahwa data yang Anda kirim dalam database Anda dilihat dengan benar.

Saat permintaan diajukan ke aplikasi Anda, periksa apakah tanggal tenggat waktu sudah lewat, jika ya, maka tampilkan bahwa proyek ditutup - atau perbarui bahwa proyek ditutup, tepat sebelum ditampilkan.

Sebenarnya tidak ada alasan untuk memperbarui data secara independen dari aplikasi PHP Anda.

Biasanya, satu-satunya hal yang ingin Anda jadwalkan adalah pekerjaan yang akan memengaruhi aplikasi Anda dalam hal pemuatan, atau yang perlu dilakukan hanya sekali, atau jika konkurensi atau waktu menjadi masalah.

Dalam kasus Anda, tidak ada yang berlaku.

PS:Saya belum mencoba PHPscheduler tapi saya bisa menebak itu bukan penjadwal yang benar. Cron adalah deamon yang tidur sampai tugas yang diberikan selesai dalam antriannya, menjalankan tugas, lalu tidur sampai tugas berikutnya selesai (setidaknya itulah yang dilakukannya dalam algoritma saat ini). PHP tidak dapat melakukannya tanpa soket dan ekstensi garpu, sebagai pengaturan khusus. Jadi PHPscheduler kemungkinan besar hanya memeriksa apakah tanggal untuk suatu tugas telah kedaluwarsa, pada setiap pemuatan halaman web (setiap kali PHP mengeksekusi halaman). Ini tidak berbeda dengan Anda hanya memeriksa apakah tanggal proyek telah kedaluwarsa, tanpa overhead PHPScheduler.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyimpan data kotak teks kaya ke database dengan pemformatan

  2. Kata yang dicadangkan dalam nama kolom - masukkan ke MySQL

  3. Bagaimana saya membuat kueri ini berjalan lebih cepat?

  4. Mysql PDO panjang data LONGBLOB maksimum saat diambil

  5. GALAT 1054 (42S22):Kolom '‍‍' tidak diketahui di 'daftar bidang'