2011-12-15 9 views
0

2時間ごとにデータをデータベースに更新する最良の方法は何ですか?私はJSONを返すAPIを呼び出すつもりですし、そのデータベースを更新したいと思います。それは雪の状態を取り戻しています。APIデータを使用して2時間ごとにMySQLを更新する

おかげで、

ライアン

+4

標準式:Cronジョブ+ PHPスクリプト –

答えて

6

は、それはあなたが上にあるサーバーの種類によって異なるが、それはLinuxベースである場合は、2時間毎にPHPスクリプトを実行するcronを使用することができます。

のcronエントリは次のようになります:

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

、スクリプトがフォーム(私のサーバーのための単なる一例...)とシェルスクリプトのようになります。

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

?> 
+0

ありがとうございました。だから私は自分のクエリを実行する私のファイルを持っているだろうし、cronのエントリはどこに行くだろうか? – Coughlin

+0

@Coughlin cronエントリはcrontabに入ります。コマンドラインから管理できます(一部のホスティングプロバイダにはグラフィカルツールもあります)。 'crontab -l'コマンドラインから現在のcronエントリを確認し、ファイルを編集するには:' crontab -e' – jeroen

3

あなたはDB-サーブの中から非SQLコマンドを実行する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 

:MySQLでイベントを作成することができますセキュリティ上の問題があるため、rは推奨されません。 atコマンドまたはスケジュールされたタスクは2時間ごとに実行することができますWindows上で


で:http://support.microsoft.com/kb/313565
スケジュールされたタスク:http://windows.microsoft.com/en-US/windows7/schedule-a-task


は(http://bernardodamele.blogspot.com/2009/01/command-execution-with-mysql-udf.html#!/2009/01/command-execution-with-mysql-udf.htmlこれは、ようなカスタムUDFを通じてのみ可能です) Linuxでcrontabはあなたの友人です:http://kevin.vanzonneveld.net/techblog/article/schedule_tasks_on_linux_using_crontab/

+0

mySQLはAPI呼び出しを行い、JSONを解析できません。 –

+0

@Pekka、シェルコマンドを実行できるUDFをインストールしても問題ありませんが、それはセキュリティホールです。 – Johan

1

cronを使用して、apiからデータを取得してdatに挿入するスクリプトを書いてください根絶する。

関連する問題