4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Automatorのワークフローをcalender.appを使わずに定期実行する

Last updated at Posted at 2021-08-08

Automatorのワークフローをcalender.appで定期実行する際の課題

  • Automatorのワークフローを定期実行する場合、通常calender.appを利用する。
  • しかし、Macのcalender.appは非常に不安定(調子が悪いと実行されなかったりする)、かつ毎時間実行させたい場合などに設定が煩雑になる。
  • 対策として、Macではlaunchdという定期実行の仕組みがあるのでこれを利用することで解決できる。
  • launchdの登録は、LaunchControlというGUIツールが非常に便利。
  • 言いたいことは以上で、あとは蛇足。

launchdとは

  • OSXにおいて、cronに変わってジョブ管理する仕組み。
  • Windowsにおけるタスクスケジューラーのように、OSレベルですべてのジョブを監視しており、非常に堅牢。かつ柔軟に設定が可能。

launchdの基本的な使い方

基本的な使い方

  • .plistというファイルをxml形式で記述
  • launchctl load ~/Library/LaunchAgents/xxxxx.plistでlaunchdに登録

課題

  • xmlで記述が必要かつ書式を覚えなくてはならず面倒
  • かんたんに利用したい場合は、LaunchControlというGUIで登録できるツールが利用できる
  • 以下はLaunchControlを利用した登録方法

LaunchControlでのAutomatorの登録方法

  1. まずAutomatorのワークフローを.Appでアプリとして登録

  2. LaunchControlにて、/usr/bin/open -W 登録したいアプリのパスでプログラムを指定

  3. あとは定期実行のインターバルを指定すればOK
    10秒からインターバルで指定できる他、毎月、毎週、毎日、毎時等細かく指定が可能
    image.png

以上

ひとこと

  • Automatorのワークフローはcalender.appで定期実行していたが、ちょっとPCで重い処理を行っていると、指定した時間に始まらなかったりして非常に困っていた。PCのスペックによる?
  • .appのアプリを指定する方法がすぐにわからずハマった。参考のlaunchd.infoドキュメントを読み解いて解決

参考

4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?