2011-12-15 63 views
0

什麼是每2小時更新一次數據庫的最佳方式。我將調用一個返回JSON的API,然後我想更新該數據庫。它正在帶回雪情。使用API​​數據每2小時更新一次MySQL

感謝,

瑞安

+4

標準配方:Cron job + PHP腳本 – 2011-12-15 14:01:28

回答

6

這取決於你是什麼樣的服務器,但如果它是基於Linux,你可以使用cron來運行你的PHP腳本,每2個小時。

的cron項會是這樣的:

0 */2 * * * /path/to/script 

和腳本可能是與形式(只是我的服務器的例子......)一個shell腳本:

#!/usr/local/bin/php 
<?php 

?> 
+0

感謝您的支持。所以我會讓我的文件運行我的查詢,然後cron條目會去哪裏? – Coughlin 2011-12-15 14:11:44

+0

@Coughlin cron條目將進入crontab;你可以從命令行管理它(一些託管提供者也有圖形工具)。從命令行查看當前的cron條目:`crontab -l`並編輯文件:`crontab -e` – jeroen 2011-12-15 14:14:52

3

你可以在MySQL中創建事件:http://dev.mysql.com/doc/refman/5.1/en/create-event.html

CREATE EVENT e_hourly 
ON SCHEDULE EVERY 2 HOUR 
COMMENT 'a comment' 
DO BEGIN 
    //Hourly action 
END 

在DB-serve中運行非SQL命令儘管由於安全問題,但並不推薦使用r。
(這是唯一可能通過使用自定義的UDF:http://bernardodamele.blogspot.com/2009/01/command-execution-with-mysql-udf.html#!/2009/01/command-execution-with-mysql-udf.html

Windows上的at命令或計劃任務可以運行每隔2小時:
在:http://support.microsoft.com/kb/313565
計劃任務:http://windows.microsoft.com/en-US/windows7/schedule-a-task

在Linux上crontab是你的朋友:http://kevin.vanzonneveld.net/techblog/article/schedule_tasks_on_linux_using_crontab/

1

使用cron並編寫一些腳本,從api獲取數據並將其插入到dat凌辱。