さて、色々pythonコードを作成してくると、自分で実行するのではなくて、PC自体に自動実行させたいケースが出てきているのではないでしょうか?外部サーバにコードを設置するほどではないスクレイピング関係等は特にローカルPCから実行するケースが多いかと思います。
今回はMacユーザ想定(というか、自分がMacユーザなので)で、Mac推奨のLuanchdを利用して自作pythonコードの自動実行の方法を紹介してきます。
読んで欲しい人
- pythonで自作コード作成したが、自動実行の方法がわからない人
- 少しだけLinuxおよびxml系も書ける人
- cronからlaunchdに移行しようとしている人(正直WinユーザやLinux環境はcronでいい気もします)
- Launchdの勉強をしたい人
シリーズ概要
- Launchd、plistファイルとload設定(linuxコマンドメイン)
- Launchd、ユーザエージェントで日に1回コードを自動実行させる
- Launchd、デーモンを利用してみる
- Launchd、基本的な設定で利用する情報郡
そもそもLaunchdとは?
unixを使ったことがある方には、initやcrondなどでおなじみのものかと思います。GASをやられている方では、Triger機能と言えばわかるでしょうか。
機能的には、デーモン・プロセス・スクリプトの自動実行・定期実行のためのMac OS X以降MaxOSで推奨とされているツールです。
plistというファイルを、Libraryフォルダ以下に格納することで、定期実行するようにローカルコンピュータに命令するようにします。このファイルの作成方法を今後複数回に分けて説明していきます。
また、Launchdctlという機能を使って、動作させるなどの状態設定や確認をしていきます。
基本今後のファイル作成や設定は、ターミナルコマンドをベースに実施するので、ターミナルの動作が厳しい場合は、別途以下に紹介するGUIツールをを使ってもらうといいかと思います。
GUIツールの紹介
LaunchdControl
URL: https://www.soma-zone.com/LaunchControl/
確か1500円くらいでプライベートライセンスが購入できたはず。GUIでLaunchdの作成およびctl関係の設定が可能。

まとめ
今回から扱う対象は、ノンプログラマーが取り扱うのは少し慣れない部分かと思います。
GASで利用する場合は、基本GUIで作成することが可能ですし、ローカルPCのターミナル等を開く機会がこれまでなかった方にもツールの使い方さえ慣れれば対応可能かと思います。
逆に、これをチャンスと見て、一からターミナル系のコマンドを習得するのもアリかもですね。
GASのトリガーが便利なように、条件設定で自動的にプログラムを走らせる機能は、ローカルでpython開発するときにはセットみたいなものかと思っています。
是非、習得していきたい能力です。