sql >> データベース >  >> RDS >> Mysql

cronジョブで動的関数をスケジュールする方法は?

    cronタスクでは、実行時間を事前に設定する必要がありますが、実行時間を動的に決定することはできません(crontabを編集するスクリプトを使用してこれをハックすることはできますが、それはあまり良い考えではありません)。これは、基本的に2つのオプションがあることを意味します。

    1)cronjobを毎分実行するように設定し、タッチした一時ファイルを使用して、スケジュールされたタスクの1つを最後に実行したことを通知します。実行するたびに、最後のタイムスタンプの間に実行するタスクがあったかどうかを確認します。一時ファイルと現在の時刻、および存在する場合はタスクを実行します。これは大雑把ですが単純な解決策です。

    2)cronは使用しないでください。タスクを実行する必要がある時間をチェックし、それらを優先キューに入れるデーモンを作成します。デーモンは、最も早い要素をポップし、そのタスクを実行する時間になるまでスリープします。タスクを実行し、24時間後に実行されるように再挿入して、繰り返します。このソリューションははるかに洗練されていますが、より多くの作業が必要です。



    1. 行SQLで最大値を持つ列名を取得します

    2. POINTを使用したMysqlの空間距離-機能しない

    3. Visual Studio2010でMySQL5.1に接続するにはどうすればよいですか?

    4. トリガーを使用したリアルタイムデータマスキング