1

これは単純な質問であるか非常に複雑な質問である可能性があり、検索しても結果が得られませんでした。

OSX で Sequel Pro を使用して多くのクエリを実行していますが、その中には 8 時間以上かかるものもあります。ただし、多くの場合、ジョブにかかる時間は予測できません。MySQL全般、OSX、MySQLWorkBench、またはSequel Proのいずれかで、クエリが完了したときに警告するポップアップアラート/電子メール/何かを設定する方法があるかどうか疑問に思っていました. これは奇妙な要求のように聞こえるかもしれませんが、ジョブがバックグラウンドで実行されているときに他のタスクを実行したいので、知っておくと非常に役立ちます。私はこれが不可能かもしれないことをよく知っています。

どんな洞察も大歓迎です、

ベン

4

1 に答える 1

3

アイデアを提供するだけです。Mac を使用しているので、osascriptこのようなポップアップ ウィンドウを生成するために使用できます。

$ osascript -e 'tell app "System Events" to display dialog "Hello World" buttons "OK" default button 1'

これで、SQL ジョブを実行するための簡単なスクリプトを作成できます。呼びましょうmysqlnotify

#!/bin/bash
/usr/local/mysql/bin/mysql -uusername -puserpassword dbname < $1 > $2
/usr/bin/osascript -e 'tell app "System Events" to display dialog "Your SQL job has finished" buttons "OK" default button 1 with title "mysqlnotify"'

実行可能にする

$ chmod +x ./mysqlnotify

次に、お気に入りのエディター/IDE (Sequel Pro、MySQL Workbench、TextMate など、何でも構いません) で SQL クエリを作成し、ファイルに保存します。呼びましょうsleep.sql

SELECT 'Your results', SLEEP(5) FROM dual;

クエリを実行するには、新しいターミナル ウィンドウを開いて実行します。

$ /path/to/mysqlnotify sleep.sql sleep.txt

クエリが完了すると、ポップアップ ウィンドウが表示されます

+----------------------------+
| | mysqlnotify |
+----------------------------+
| | SQL ジョブが終了しました |
| | | |
| | | | わかりました | | |
+----------------------------+

クエリの結果は次の場所に保存されますsleep.txt

于 2013-10-10T05:15:55.607 に答える