メニューを閉じる

テクノデジタルグループ

メニューを開く

2019.07.26

未分類

Concrete5でジョブを個別実行したい場合にjIDをSQLで取得する

こんにちは。ZYです。
今回は、少しマイナーなCMS「Concrete5」の中の機能一つであるジョブについて。
Concrete5の記事という時点で、Concrete5を使っている人以外、この記事を読んでいないと思うので、細かいことは飛ばしますが、Concrete5でジョブを個別実行したい場合がありますよね。それも管理画面からではなく、cron等のコマンドから。この時点で、かなりの少数の人向けの話になりますが、続けます。

その際、こんな感じのURLをコマンドから叩くわけですが、

https://hogefuga.jp/index.php/tools/required/jobs?auth=***&jID=1

このjIDは、Concrete5管理画面の「自動実行ジョブ」に表示されたIDです。
ジョブをインストール時に付与される値なので、普通はインストール前には知ることが出来ません。
そのため、環境ごとにDBが違ったりすると、それぞれインストール後にjIDを取得し、設定したりする必要があったりします。

それはめんどくさい、ということで、以下のようなSQLを使用すれば、ジョブのクラス名(=jHandle)からjIDを取得することが出来ます。

select 
  jID 
from
  Jobs
where
  jHandle = 'ジョブのクラス名'

jHandleは、インストールするジョブのクラス名(/application/jobs/下に配置するAbstractJobを継承したクラスのこと)を指定します。

これで環境ごとの違いを吸収出来るので、ちょっとだけ便利です。


【記事への感想募集中!】

記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!
  • こんな記事が読んでみたい、こんなことが知りたい、調べてほしい!という意見も募集中!
  • いただいた感想は今後の記事に活かしたいと思います!

感想フォームはこちら


【テクノデジタルではエンジニア/デザイナーを積極採用中です!】

下記項目に1つでも当てはまる方は是非、詳細ページへ!
  • 自分でアプリを作ってみたい
  • ITで世の中にワクワクを生み出したい
  • 使いやすさ、デザインにこだわったWebサイトを開発したい

採用情報の詳細はこちら


Qangaroo(カンガルー)

  • 徹底した見やすさと優れた操作性で、テストの「見える化」を実現。
  • テストの進捗が見える。開発がスマートに進む。
  • クラウド型テスト管理ツール『Qangaroo(カンガルー)』

【テクノデジタルのインフラサービス】

当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。

https://www.tcdigital.jp/infrastructure/

最近の記事