7

curlを使用していくつかのサイトから情報を取得し、それらをデータベースに挿入する関数がいくつかあります。このタスクを24時間ごとに実行するための最善の方法は何でしょうか。

私は今Windowsを使い果たしていますが、ライブになったらおそらくLinuxに切り替えます(それが違いを生む場合)。私は現在、symfomyフレームワーク内で作業しています。

cronjobsがこれを行うことができると聞きました...しかし、サイトを見ると、リモートで機能しているようで、家の中に物を置いておきたいだけです...コンピューターで「サービスを実行」することはできますか?それが意味するものは何でも;)(それが使われるのを聞いたことがあります)

助けてくれてありがとう、アンドリュー

4

4 に答える 4

18

これはまさにCron(linux)またはScheduled Tasks(windows)の目的です。

それらをアプリケーションサーバーで実行して、すべてを1か所に保持できます。

たとえば、MySQLデータベースを毎日バックアップするためにホームサーバーでcronを実行しています。このプロセスに関与するシステムは1つだけです。

于 2009-02-03T16:59:42.237 に答える
7

crontabに追加0 0 * * * php /path/to/your/cronjob.phpすると、これが達成されます。

于 2009-02-03T17:17:14.730 に答える
0

cron または Windows スケジューラが適切でないと判断した場合は、同じことを行う簡単な Java アプリを作成すると便利な場合があります。

コールを使用できますSystem.getRuntime().exec("cmd line stuff here");。その後、その操作を でワープできますTimerTask。最後に、TimerTimerTasks を追加し、時間と頻度などを指定して、オブジェクトを起動します...

これは上記の例よりも明らかに複雑ですが、何か問題が発生したときにインテリジェントなエラー処理を追加して、自分自身に電子メール アラートなどを送信できるため、私は気に入っています。

おそらくやり過ぎですが、対処する必要のあるそのような操作がいくつかある場合は、検討する価値があるかもしれません。

スウィーニー

于 2009-02-03T17:20:30.683 に答える