Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để lập lịch chức năng động với cron job?

Các nhiệm vụ cron yêu cầu bạn đặt trước thời gian mà chúng chạy, chúng không thể (vâng bạn có thể hack điều này bằng cách có một tập lệnh chỉnh sửa crontab của bạn, nhưng tôi không nói đó là một ý tưởng hay) để chúng có thời gian chạy quyết định một cách linh hoạt. Điều này có nghĩa là về cơ bản bạn có hai lựa chọn:

1) Đặt cronjob chạy mỗi phút và sử dụng tệp tạm thời mà bạn chạm vào để cho biết lần cuối cùng nó chạy một trong các tác vụ đã lên lịch Mỗi lần chạy, nó sẽ kiểm tra xem có tác vụ nào cần chạy giữa dấu thời gian cuối cùng của tệp tạm thời của bạn và thời gian hiện tại, và nếu có thì nó sẽ chạy tác vụ. Đây là một giải pháp đơn giản nhưng thô thiển.

2) Không sử dụng cron. Tạo một daemon kiểm tra thời gian các tác vụ cần được chạy và đặt chúng vào hàng đợi ưu tiên, sau đó nó bật phần tử sớm nhất và ngủ cho đến khi đến lúc chạy tác vụ đó. Nó chạy tác vụ và chèn lại để nó chạy 24 giờ trong tương lai và lặp lại. Giải pháp này thanh lịch hơn nhiều, nhưng nó cũng đòi hỏi nhiều công việc hơn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để chọn kiểu dữ liệu được tối ưu hóa cho các cột [cụ thể innodb]?

  2. Tự động triển khai MySQL hoặc Cụm Postgres của bạn từ bản sao lưu

  3. Truy vấn SQL nào tốt hơn, PHÙ HỢP VỚI LẠI hay THÍCH?

  4. Hiệu suất REGEXP (so sánh với LIKE và =)

  5. Pooling =false trong chuỗi kết nối MySQL có nghĩa là gì?