DataSpiderで作成したサービス（QiitaのView数取得）を毎週月曜日の朝9時に実行する

## はじめに
こんにちは、すぎもんです:grinning:

先日、[Qiitaの記事情報を取得してみた記事](https://qiita.com/sugimon/items/294187dbee3ef5a27fe5)を投稿しましたが、それに関連して、指定した日時で処理を自動起動する、DataSpiderでいう「スケジュールトリガー」についてやってみます。非常にシンプルかつ、わかりやすい設定ですので、是非ご一読ください。

## プロジェクトのサービス登録
まずは、スケジュールトリガーを使って自動起動させたいプロジェクトを<strong>サービスとして登録</strong>します。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<strong>■DataSpiderのサービスとは</strong>
プロジェクトをサービスに登録することで、作成したスクリプトがサーバーに登録され、他のプロジェクトのスクリプトや<strong>トリガー</strong>などの実行ツールから呼び出せるようになります。つまり、日時起動などのトリガーを使った自動化では、この<strong>サービス登録</strong>は必須なのです。これらのサービス化されたプロジェクトは、DataSpider Studioの「マイサービス」で管理します。

詳細は[DataSpider サービスの基礎知識](https://www.hulft.com/help/ja-jp/DataSpider/dss32SP2/help/ja/servista/service_basic.html)をご参照ください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/361a5c96-7678-5c2f-eeac-87e169bc362c.png)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

今回は、[Qiitaの記事情報を取得してみた記事](https://qiita.com/sugimon/items/294187dbee3ef5a27fe5)で作成した、Qiitaの記事情報取得スクリプトを管理する「Qiita」というプロジェクトを、サービスとして登録します。

対象のプロジェクトを右クリックし「プロジェクトをサービスとして登録」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/e7f293c3-9118-b01a-cfa0-43c2986c703d.png)
「サービス名」には、他のプロジェクトとの区別がつくような名前を付けます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/bb9c80c3-267e-edd8-a24b-6ea8733fd6d3.png)
「サービス内容の比較」では、登録するプロジェクトに紐づく「スクリプト」が一覧表示されます。今回は、初回なので下記キャプチャの様に表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/6f55ad61-15fb-368d-c522-08054d699b5b.png)
「サービスの登録」が完了しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/096d5bd0-cf5b-eb92-e17d-b19e92a4bf61.png)

:::note warn
「サービス内容の比較」では、下記のように登録対象のスクリプトのバージョン情報が比較できます。正しい対象かどうかをここで最終チェックしましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/3fe9bfc0-3765-7a77-66d2-d6afc51a6ad7.png)
:::

## トリガーの作成
次にトリガーを作成します。対象のサービスを起動させる”条件”を決めます。

DataSpiderでは、いくつか<strong>サービスの起動条件</strong>（[トリガー](https://www.hulft.com/help/ja-jp/DataSpider/dss32SP2/help/ja/trigger/trigger.html)）を用意しています。必要に応じて[トリガー](https://www.hulft.com/help/ja-jp/DataSpider/dss32SP2/help/ja/trigger/trigger.html)の種類を選択します。

今回は「日時指定での起動」をしたいので、「スケジュールトリガー」を作成します。

「マイトリガーのタスク」から「新しいスケジュールトリガーを作成する」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/a0843eef-7589-8844-84dc-79c0ca45af6e.png)
月次作業を自動化したいので、「月単位（～）」を選択して「次へ」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/e1e91bf4-b5c5-8573-fd56-bea8954836b8.png)
来月から作業を自動化したいので、４月月初（営業日ベース）で実行するよう登録します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/4cd873f6-1306-ecb7-6c9c-037e2a14eefe.png)
Qiitaの記事は携帯での閲覧も多いようなので、休日は読んでいただける機会も多そう…と判断し、休日の動作は「`次の日に実行する`」とし、「`標準カレンダー`」を使用した休日設定にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/337b16fc-98c7-5054-b6bc-b1286ab43c79.png)
作成したトリガーで実行するサービスやスクリプトなどの関連情報を確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/b925105b-968e-2d7f-fdbf-38a185489595.png)
ログは「DEBUG」を選択して、完了します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/508285de-5b51-0ae8-4560-3db9ee8da694.png)

:::note warn
<strong>（ご参考）</strong>DataSpiderの[ログレベル](https://www.hulft.com/help/ja-jp/DataSpider/dss32SP2/help/ja/servista/log_level.html)をまとめると下記の通りです。
:::
||ログレベル|出力対象|補足|
|:-----------|:------------|:------------|:------------:|
|↑|NOTICE|起動成功や致命的エラーなど重要情報のみ||
|高|INFO|各処理に対する処理結果|運用時推奨|
||FINFO|INFOより詳細な処理結果|開発時推奨|
|低|FINEST|FINFOより詳細な処理結果||
|↓|DEBUG|内部状態などデバッグ用||

トリガー作成で「完了」を押下すると、トリガーを有効状態で登録するかどうかの確認ポップアップが表示されます。有効化してよい場合は「はい」、まだ無効のままにしておきたい場合は「いいえ」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/94ae89a2-d9b9-3100-a14e-2e1d5b16770e.png)
以上で、DataSpiderで作成したサービスを日時で自動起動させる、スケジュールトリガーの作成は完了です。

## スケジュールトリガーのテスト実行
一時的に記事作成日（3/9）の15：00を指定して動きの確認をしてみます。（即時確認のために一時的に指定日時を変更していますが、本来はトリガー指定日時での実行確認がベストです。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/b2e5c79e-eae1-9ff8-6dab-9e0ad2751fa0.png)
作成ファイルの[前回記事]()の内容でテスト実行したときのファイルが作成された状態です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/f78a9687-1def-f706-b57b-8392eb50913c.png)

3/9 15:00 起動まで待ちます:stopwatch:

下記の通り、無事指定した日時で起動しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/31c05639-6784-da55-6a02-1406eb504974.png)

作成したスクリプトをサービスとして登録することで、スケジュールトリガーでの起動に成功しました！

## 最後に
いかがでしたでしょうか。今回はDataSpiderで作成した処理をサービス化し、指定した日時での実行を確認してみました。DataSpiderは、今ある手作業を「自動化」します。また、その自動化された作業の状況は、<strong>マイログ</strong>という機能で確認します。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<strong>■DataSpiderのマイログ</strong>
DataSpiderには様々な種類のログが出力されますが、その中でも、スクリプト実行のサマリー（スクリプトの開始終了時間や成功/失敗など）が出力される<strong>実行ログ</strong>というものがあり、それを一覧で確認できるのが<strong>マイログ</strong>です。

サービスのサマリーログを、設定した<strong>ログ検索条件</strong>（※）で一覧表示します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/34d89b4d-1ca1-24d1-6700-86dfeaad44bf.png)
（※1）<strong>ログ検索条件</strong>
　時間や実行結果（正常/異常）、サービス名などを設定できます。

下記画面キャプチャの通り、自身が設定した検索条件で<strong>実行ログ</strong>を確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/36b3b57f-a9ed-2d18-87b9-951595cba1b2.png)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

DataSpiderで作成したサービスを自動化したはいいものの、人の手を介さず実行されるようになった<strong>サービスの状況確認</strong>は必須ですよね。併せてご活用ください。

今回作成した「スケジュールトリガー」は、DataSpiderのトリガーの中でも、広く様々な方に理解がしやすい機能かと思います。設定自体もわかりやすいので、是非ご自身の定例作業の自動起動などで活用してみてください。




ここまで読んでいただきありがとうございました。それではまた！