SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

連載記事

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CodeZine BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。

書籍に関する記事を見る

'); googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(e) { var ad_id = e.slot.getSlotElementId(); if (ad_id == 'div-gpt-ad-1659428980688-0') { var ad = $('#'+ad_id).find('iframe'); if ($(ad).width() == 728) { var ww = $(window).width(); ww = ww*0.90; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/728+","+ww/728+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/728+","+ww/728+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/728+","+ww/728+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/728+","+ww/728+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(90*ww/728)+"px;width:"+728+"px;}", 0 ); } else { if ($(window).width() < 340) { var ww = $(window).width(); ww = ww*0.875; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/320+","+ww/320+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/320+","+ww/320+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/320+","+ww/320+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/320+","+ww/320+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(180*ww/320)+"px;width:"+320+"px;}", 0 ); } } } }); }); } else { document.write('
'); document.write('
'); }
Google App Engine for Javaを使ってみよう!

Google App Engine for Javaを使ってみよう!
(7)App Engine Cron Service

Google App Engine for Javaを使ってみよう! (7)

  • X ポスト
  • このエントリーをはてなブックマークに追加

 この連載では2009年4月に発表されたJava版のGoogle App Engineを解説します。今回は、Google App Engine上で設定した時間にプログラムを動作させることができる「App Engine Cron Service」の使い方を勉強したいと思います。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 Googleのインフラで実行されるクラウドサービス Google App Engineが2009年4月7日にJavaに対応しました。Javaエンジニアにも利用できるようになった、Google App Engineを一緒に勉強して行きましょう!

 今回は、Google App Engine上で設定した時間にプログラムを動作させることができる、「App Engine Cron Service」の使い方を勉強したいと思います。

対象読者

  • ウェブサービス開発に興味のあるJavaエンジニア
  • Google App Engine for Javaに興味がある方

必要な環境

  • 「Google Plugin for Eclipse」がインストールされている、Eclipse 3.3(Europa)か3.4(Ganymede)

 開発環境の構築手順については、第1回の解説を参照してください。

App Engine Cron Serviceとは?

 ウェブサービスを作っていると、以下のように決まった時間にプログラムを走らせたいことがよくあります。

  • 毎日24時に1日のアクセス記録を統計化して管理者にメールする
  • 毎月1日の0時にテンポラリデータの削除をする

 Windows系のシステムでは、「タスク・スケジューラ」、UNIX系のシステムでは「Cron」を利用しますが、Google App Engineにもこれに似た「App Engine Cron Service」と呼ばれる仕組みが用意されています。App Engine Cron Serviceでは、時間とURLを記述したxmlファイルをプログラムと一緒にデプロイすることによって、プログラムを制御します。

App Engine Cron Serviceを使ってみよう!

 App Engine Cron Serviceの設定ファイル(cron.xml)は非常に簡単に書くことができます。早速、cron.xmlを見てみましょう。

<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
  <cron>
    <url>/cron/mail</url>  <!-- (1) -->
    <description>every 1 minutes</description>  <!-- (2) -->
    <schedule>every 1 minutes</schedule>  <!-- (3) -->
  </cron>
</cronentries>
  1. 自動的に実行したいURL
  2. この定義の名前(管理コンソールの「Cron Jobs」で表示される名前になります)
  3. アクセスさせたい日時
scheduleのフォーマット
("every"|ordinal) (days) ["of" (monthspec)] (time)

書き方の例

every 5 minutes
every 12 hours
2nd,third mon,wed,thu of march 17:00
every monday 09:00
1st monday of sep,oct,nov 17:00
every day 00:00
scheduleの詳細な説明
項目 詳細な説明
every

毎月/毎日/毎時を表現したい場合、「every」を指定します。

ordinal 最初の週/第3週などを表現したい場合、英語で指定します。「1st」か「first」のいずれかのフォーマットで書きます。カンマ(,)で区切ることで複数指定できます。例:「第1と第3」と表現したい場合、カンマ(,)で区切り「1st,3rd」あるいは「first,third」と指定します。
days 曜日を英語で指定します。「mon」か「monday」のいずれかのフォーマットで書きます。カンマ(,)で区切ることで複数指定できます。毎日の場合、「every mon,tue,wed,thu,fri,sat,sun」の代わりに「every day」と書くこともできます。
monthspec 月を英語で指定します。「jan」か「january」のいずれかのフォーマットで書きます。カンマ(,)で区切ることで複数指定できます。指定がない場合、毎月になります。
time 時間を「HH:MM」スタイル(24時方式)で指定します。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
App Engine Cron Serviceを利用する

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Google App Engine for Javaを使ってみよう!連載記事一覧

もっと読む

この記事の著者

山下 大介(ヤマシタ ダイスケ)

  äº¬éƒ½å¤§å­¦ã‚’中心とした、産官学共同プロジェクトのSOBAプロジェクトに参加後、同プロジェクトで開発したP2P配信によるVoIP技術を2005年に商業化。オープンソース、VoIP、P2P、クラウドコンピューティングに精通。趣味はGoogleの追っかけ。現在は、株式会社SOBAプロジェクト取締役。ブログ:『~ ミネルヴァの梟は黄昏とともに飛び始める ~』所属:株式会社SOBAプロジェクトGoogle Developer Day 2008サポーター, 2009サポーターGoogle App Engine API Expert

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3918 2009/06/18 14:00
" ); }

おすすめ

アクセスランキング

  1. 1
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に NEW
  2. 2
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──アクションによる非同期処理の進化
  3. 3
    NVIDIA、コンパクトな生成AIスーパーコンピューターを発表 NEW
  4. 4
    「代替されない強み」を身に着ける覚悟はあるか──Java Champion 寺田佳央氏が経験してきた挫折とは NEW
  5. 5
    ランサーズ、「2024年必要とされたスキルランキング」を公開。「Lancers」上のデータを集計
  1. 6
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  2. 7
    Linuxディストリビューション「Fedora Asahi Remix 41」リリース NEW
  3. 8
    IPA、DXの先進事例を素早く効率的に検索できるWebサイト「デジタル事例データベース」を公開
  4. 9
    Apple、2024 App Store Awardsの受賞者発表 NEW
  5. 10
    GitHub Copilotの無料プラン「GitHub Copilot Free」リリース、GitHubへの登録開発者数は1億5000万人突破 NEW

アクセスランキング

  1. 1
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に NEW
  2. 2
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──アクションによる非同期処理の進化
  3. 3
    NVIDIA、コンパクトな生成AIスーパーコンピューターを発表 NEW
  4. 4
    「代替されない強み」を身に着ける覚悟はあるか──Java Champion 寺田佳央氏が経験してきた挫折とは NEW
  5. 5
    ランサーズ、「2024年必要とされたスキルランキング」を公開。「Lancers」上のデータを集計
  6. 6
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  7. 7
    Linuxディストリビューション「Fedora Asahi Remix 41」リリース NEW
  8. 8
    IPA、DXの先進事例を素早く効率的に検索できるWebサイト「デジタル事例データベース」を公開
  9. 9
    Apple、2024 App Store Awardsの受賞者発表 NEW
  10. 10
    GitHub Copilotの無料プラン「GitHub Copilot Free」リリース、GitHubへの登録開発者数は1億5000万人突破 NEW
  1. 1
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  2. 2
    「CUDA」 ~マンガでプログラミング用語解説
  3. 3
    ITエンジニア本大賞2025、投票締切直前! みんなで選んだ歴代の大賞本を振り返って一挙紹介
  4. 4
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  5. 5
    今後生成AIとどう向き合うべきなのか? 現場のエンジニアと研究者が最新研究事例から語り合う
  6. 6
    2024年12月に開催される注目のITエンジニア向けカンファレンス5選
  7. 7
    日本在住の英語を話すソフトウェア開発者、年収の中央値は950万円に
  8. 8
    Vue.js3.4~3.5の新機能をまとめて紹介! 新しいAPIやSSRの改善
  9. 9
    VSCodeをドキュメント作成に活用――テキストエディタ、Markdownエディタの設定と拡張機能を解説
  10. 10
    2024年の提示年収が高いプログラミング言語は? paiza調査によるランキングが発表

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

メールバックナンバー

アクセスランキング

  1. 1
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に NEW
  2. 2
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──アクションによる非同期処理の進化
  3. 3
    NVIDIA、コンパクトな生成AIスーパーコンピューターを発表 NEW
  4. 4
    「代替されない強み」を身に着ける覚悟はあるか──Java Champion 寺田佳央氏が経験してきた挫折とは NEW
  5. 5
    ランサーズ、「2024年必要とされたスキルランキング」を公開。「Lancers」上のデータを集計
  1. 6
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  2. 7
    Linuxディストリビューション「Fedora Asahi Remix 41」リリース NEW
  3. 8
    IPA、DXの先進事例を素早く効率的に検索できるWebサイト「デジタル事例データベース」を公開
  4. 9
    Apple、2024 App Store Awardsの受賞者発表 NEW
  5. 10
    GitHub Copilotの無料プラン「GitHub Copilot Free」リリース、GitHubへの登録開発者数は1億5000万人突破 NEW

アクセスランキング

  1. 1
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に NEW
  2. 2
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──アクションによる非同期処理の進化
  3. 3
    NVIDIA、コンパクトな生成AIスーパーコンピューターを発表 NEW
  4. 4
    「代替されない強み」を身に着ける覚悟はあるか──Java Champion 寺田佳央氏が経験してきた挫折とは NEW
  5. 5
    ランサーズ、「2024年必要とされたスキルランキング」を公開。「Lancers」上のデータを集計
  6. 6
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  7. 7
    Linuxディストリビューション「Fedora Asahi Remix 41」リリース NEW
  8. 8
    IPA、DXの先進事例を素早く効率的に検索できるWebサイト「デジタル事例データベース」を公開
  9. 9
    Apple、2024 App Store Awardsの受賞者発表 NEW
  10. 10
    GitHub Copilotの無料プラン「GitHub Copilot Free」リリース、GitHubへの登録開発者数は1億5000万人突破 NEW
  1. 1
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  2. 2
    「CUDA」 ~マンガでプログラミング用語解説
  3. 3
    ITエンジニア本大賞2025、投票締切直前! みんなで選んだ歴代の大賞本を振り返って一挙紹介
  4. 4
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  5. 5
    今後生成AIとどう向き合うべきなのか? 現場のエンジニアと研究者が最新研究事例から語り合う
  6. 6
    2024年12月に開催される注目のITエンジニア向けカンファレンス5選
  7. 7
    日本在住の英語を話すソフトウェア開発者、年収の中央値は950万円に
  8. 8
    Vue.js3.4~3.5の新機能をまとめて紹介! 新しいAPIやSSRの改善
  9. 9
    VSCodeをドキュメント作成に活用――テキストエディタ、Markdownエディタの設定と拡張機能を解説
  10. 10
    2024年の提示年収が高いプログラミング言語は? paiza調査によるランキングが発表