--- title: "定期Cronの作成" url: https://docs.catalyst.zoho.com/ja/sdk/java/v1/job-scheduling/cron/create-recurring-cron/ description: "このページでは、サンプルコードスニペットを使用して定期Cronを作成するJavaメソッドについて説明します。" last_updated: 2026-03-30T08:10:30Z service: Job Scheduling type: general related_links: - name: "Component Help Documentation" url: /ja/job-scheduling/help/jobpool/introduction/ - name: "Node.js SDK" url: /ja/sdk/nodejs/v2/job-scheduling/cron/create-recurring-cron/ - name: "Python SDK" url: /ja/sdk/python/v1/job-scheduling/cron/create-recurring-cron/ - name: "REST API Collection" url: /ja/api/code-reference/job-scheduling/cron/create-cron/create-every-cron/#CreateanEveryCron --- # 定期Cronの作成 以下のSDKを使用すると、様々な時間間隔で実行できる定期Cronを作成できます。間隔は1分から暦年全体まで設定できます。 **Every Cron** ### Every Cronの作成 以下のSDKを使用すると、**24時間**未満のスケジュール間隔でJob Poolにジョブを送信する定期Cronを作成できます。 > **Note:** 以下のSDKは、**2時間1分3秒**ごとに[ジョブを送信](https://docs.catalyst.zoho.com/ja/api/code-reference/job-scheduling/job/submit-job/submit-function-job/#SubmitaFunctionJobByID)するように設定されています。`setTime()`メソッドに適切な値を渡すことで、要件に応じてこの値を変更できます。 #### サンプルコードスニペット **Package Imports** ```java import com.zc.component.jobscheduling.beans.cron.ZCCronDetails; import com.zc.component.jobscheduling.beans.cron.ZCCronBuilder; import com.zc.component.jobscheduling.beans.job.ZCJobBuilder; import com.zc.component.jobscheduling.beans.job.ZCJobMetaDetail; import org.json.simple.JSONObject; ``` ```java // Functionジョブのメタデータを生成する ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // Functionジョブビルダーを取得する .setJobConfig(2, 15 * 60 l) // ジョブ設定 - リトライ回数 => 2回(15分間隔)(オプション) .setJobpoolName("functions_jobpool") // 関数ジョブプールの名前を設定する(オプション)(jobpoolIdまたはjobpoolNameは必須) // .setJobpoolId(1234567890L) // 関数ジョブプールのIDを設定する(オプション)(jobpoolIdまたはjobpoolNameは必須) .setTargetName("target_function") // ターゲット関数の名前を設定する(オプション)(TargetNameまたはTargetIdは必須) // .setTargetId(1234567890L) // ターゲット関数のIDを設定する(オプション)(TargetNameまたはTargetIdは必須) .setParams(new JSONObject() { { put("arg1", "job"); put("arg2", "test"); } }) // ターゲット関数に渡すパラメータを設定する(オプション) .setJobName("job_name") // ジョブ名を設定する .build(); // ジョブメタデータをビルドする // 定期CRON => 2時間1分3秒ごとに実行される // Cron詳細を生成する ZCCronDetails everyCronDetails = ZCCronBuilder.zcEveryCronBuilder() // Every Cronビルダーを取得する .setCronStatus(true) // Cronを有効に設定する .setTime(2, 1, 3) // 繰り返し間隔を設定する .setJobMeta(jobMeta) // ジョブメタデータを設定する(ジョブに応じて変更) .setCronName("every_cron") // Cron名を設定する(一意) .setCronDescription("every_cron") // Cronの説明を設定する(オプション) .build(); // Cron詳細をビルドする // Every Cronを作成する ZCCronDetails everyCron = jobScheduling.cron.createCron(everyCronDetails); ``` **Daily Cron** ### Daily Cronの作成 以下のSDKを使用すると、**毎日**の間隔で固定時刻に[Job Pool](https://docs.catalyst.zoho.com/ja/job-scheduling/help/jobpool/introduction/)に[ジョブを送信](https://docs.catalyst.zoho.com/ja/job-scheduling/help/implementation/submit-jobs-using-jobs/)するCronをスケジュールできます。 > **Note:** 以下のSDKは、毎日**0時0分0秒**にCronを実行するように設定されています。`setTime()`メソッドに適切な値を渡すことで、要件に応じてこの値を変更できます。 #### サンプルコードスニペット **Package Imports** ```java import com.zc.component.jobscheduling.beans.cron.ZCCronDetails; import com.zc.component.jobscheduling.beans.cron.ZCCronBuilder; import com.zc.component.jobscheduling.beans.job.ZCJobBuilder; import com.zc.component.jobscheduling.beans.job.ZCJobMetaDetail; import org.json.simple.JSONObject; ``` ```java // Functionジョブのメタデータを生成する ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // Functionジョブビルダーを取得する .setJobConfig(2, 15 * 60 l) // ジョブ設定 - リトライ回数 => 2回(15分間隔)(オプション) .setJobpoolName("functions_jobpool") // 関数ジョブプールの名前を設定する(オプション)(jobpoolIdまたはjobpoolNameは必須) // .setJobpoolId(1234567890L) // 関数ジョブプールのIDを設定する(オプション)(jobpoolIdまたはjobpoolNameは必須) .setTargetName("target_function") // ターゲット関数の名前を設定する(オプション)(TargetNameまたはTargetIdは必須) // .setTargetId(1234567890L) // ターゲット関数のIDを設定する(オプション)(TargetNameまたはTargetIdは必須) .setParams(new JSONObject() { { put("arg1", "job"); put("arg2", "test"); } }) // ターゲット関数に渡すパラメータを設定する(オプション) .setJobName("job_name") // ジョブ名を設定する .build(); // ジョブメタデータをビルドする // 日次CRON => 毎日0時0分0秒に実行される // Cron詳細を生成する ZCCronDetails dailyCronDetails = ZCCronBuilder.zcDailyCronBuilder() // Daily Cronビルダーを取得する .setCronStatus(true) // Cronを有効に設定する .setTime(0, 0, 0) // Cronを実行する時刻を設定する // .setTimezone("America/Los_Angeles") // タイムゾーンを設定する(オプション) .setJobMeta(jobMeta) // ジョブメタデータを設定する(ジョブに応じて変更) .setCronName("daily_cron") // Cron名を設定する(一意) .setCronDescription("daily_cron") // Cronの説明を設定する(オプション) .build(); // Cron詳細をビルドする // Daily Cronを作成する ZCCronDetails dailyCron = jobScheduling.cron.createCron(dailyCronDetails); ``` **Monthly Cron** ### Monthly Cronの作成 以下のSDKを使用すると、**月次**の間隔で固定の日付と時刻に[Job Pool](https://docs.catalyst.zoho.com/ja/job-scheduling/help/jobpool/introduction/)に[ジョブを送信](https://docs.catalyst.zoho.com/ja/job-scheduling/help/implementation/submit-jobs-using-jobs/)するCronをスケジュールできます。さらに、月次の間隔で特定の週にジョブを送信するオプションもあります。 日付ベースのスケジュールで月次間隔でCronを実行するよう選択した場合、**月**に基づく日付の範囲は**1〜31**になります。同様に、**週ベース**の間隔を選択した場合、範囲は**1〜4**で、特定の**曜日**の範囲は**1〜7**になります。 > **Note:** 以下のSDKは、**毎月**の**1日**、**3日**、**5日**の**0時0分0秒**にJob Poolにジョブを送信するCronを実行するように設定されています。`setTime()`メソッドに適切な値を渡すことで、要件に応じてこの値を変更できます。 #### サンプルコードスニペット **Package Imports** ```java import com.zc.component.jobscheduling.beans.cron.ZCCronDetails; import com.zc.component.jobscheduling.beans.cron.ZCCronBuilder; import com.zc.component.jobscheduling.beans.job.ZCJobBuilder; import com.zc.component.jobscheduling.beans.job.ZCJobMetaDetail; import org.json.simple.JSONObject; ``` > **Note:** 以下のSDKスニペットで、`.setWeeksOfMonth(1, 3)`と`.setDayOfTheWeek(1, 2)`の行をコメントアウトし、`.setTime(0, 0, 0)`と`.setDays(1, 3, 5)`のコード行をコメントインすると、Cronは毎月の第1週と第3週の1日目と2日目にJob Poolにジョブを送信するようにスケジュールされます。 ```java // Functionジョブのメタデータを生成する ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // Functionジョブビルダーを取得する .setJobConfig(2, 15 * 60 l) // ジョブ設定 - リトライ回数 => 2回(15分間隔)(オプション) .setJobpoolName("functions_jobpool") // 関数ジョブプールの名前を設定する(オプション)(jobpoolIdまたはjobpoolNameは必須) // .setJobpoolId(1234567890L) // 関数ジョブプールのIDを設定する(オプション)(jobpoolIdまたはjobpoolNameは必須) .setTargetName("target_function") // ターゲット関数の名前を設定する(オプション)(TargetNameまたはTargetIdは必須) // .setTargetId(1234567890L) // ターゲット関数のIDを設定する(オプション)(TargetNameまたはTargetIdは必須) .setParams(new JSONObject() { { put("arg1", "job"); put("arg2", "test"); } }) // ターゲット関数に渡すパラメータを設定する(オプション) .setJobName("job_name") // ジョブ名を設定する .build(); // ジョブメタデータをビルドする // 月次CRON => 毎月1日、3日、5日の0時0分0秒に実行される // Cron詳細を生成する ZCCronDetails monthlyCronDetails = ZCCronBuilder.zcMonthlyCronBuilder() // Monthly Cronビルダーを取得する .setCronStatus(true) // Cronを有効に設定する .setTime(0, 0, 0) // Cronを実行する時刻を設定する .setDays(1, 3, 5) // 月の日を設定する(日ベースの設定) // .setWeeksOfMonth(1, 3) // 月の週を設定する(週ベースまたは日ベースの設定が必要) // .setDayOfTheWeek(1, 2) // 曜日を設定する(週ベースまたは日ベースの設定が必要) // .setTimezone("America/Los_Angeles") // タイムゾーンを設定する(オプション) .setJobMeta(jobMeta) // ジョブメタデータを設定する(ジョブに応じて変更) .setCronName("monthly_cron") // Cron名を設定する(一意) .setCronDescription("monthly_cron") // Cronの説明を設定する(オプション) .build(); // Cron詳細をビルドする // Monthly Cronを作成する ZCCronDetails monthlyCron = jobScheduling.cron.createCron(monthlyCronDetails); ``` **Yearly Cron** ### Yearly Cronの作成 以下のSDKを使用すると、**年次**の間隔で固定の月の固定の日付と時刻に[ジョブを送信](https://docs.catalyst.zoho.com/ja/job-scheduling/help/implementation/submit-jobs-using-jobs/)して[Job Pool](https://docs.catalyst.zoho.com/ja/job-scheduling/help/jobpool/introduction/)にスケジュールするCronを作成できます。さらに、年次の間隔で特定の週にジョブを送信するオプションもあります。 **年次**の間隔で**日付ベース**のスケジュールでCronを実行するよう選択した場合、**月**に基づく日付の範囲は**1〜31**で、**月**は**1〜12**の値の範囲で決定されます。同様に、**週ベース**の間隔を選択した場合、範囲は**1〜4**で、特定の**曜日**の範囲は**1〜7**になります。 > **Note:** 以下のSDKは、**毎年**の**8月**の**1日**、**2日**、**3日**にJob Poolにジョブを送信するCronを実行するように設定されています。`setTime()`メソッドに適切な値を渡すことで、要件に応じてこの値を変更できます。 #### サンプルコードスニペット **Package Imports** ```java import com.zc.component.jobscheduling.beans.cron.ZCCronDetails; import com.zc.component.jobscheduling.beans.cron.ZCCronBuilder; import com.zc.component.jobscheduling.beans.job.ZCJobBuilder; import com.zc.component.jobscheduling.beans.job.ZCJobMetaDetail; import org.json.simple.JSONObject; ``` ```java // Functionジョブのメタデータを生成する ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // Functionジョブビルダーを取得する .setJobConfig(2, 15 * 60 l) // ジョブ設定 - リトライ回数 => 2回(15分間隔)(オプション) .setJobpoolName("functions_jobpool") // 関数ジョブプールの名前を設定する(オプション)(jobpoolIdまたはjobpoolNameは必須) // .setJobpoolId(1234567890L) // 関数ジョブプールのIDを設定する(オプション)(jobpoolIdまたはjobpoolNameは必須) .setTargetName("target_function") // ターゲット関数の名前を設定する(オプション)(TargetNameまたはTargetIdは必須) // .setTargetId(1234567890L) // ターゲット関数のIDを設定する(オプション)(TargetNameまたはTargetIdは必須) .setParams(new JSONObject() { { put("arg1", "job"); put("arg2", "test"); } }) // ターゲット関数に渡すパラメータを設定する(オプション) .setJobName("job_name") // ジョブ名を設定する .build(); // ジョブメタデータをビルドする // 年次CRON => 年の8月の1日、2日、3日の0時0分0秒に実行される // Cron詳細を生成する ZCCronDetails yearlyCronDetails = ZCCronBuilder.zcYearlyCronBuilder() // Yearly Cronビルダーを取得する .setCronStatus(true) // Cronを有効に設定する .setTime(0, 0, 0) // Cronを実行する時刻を設定する .setDays(1, 2, 3) // 月の日を設定する // .setWeeksOfMonth(1) // 月の週を設定する(週ベースまたは日ベースの設定が必要) // .setDayOfTheWeek(3) // 曜日を設定する(週ベースまたは日ベースの設定が必要) .setMonths(8) // 月を設定する // .setTimezone("America/Los_Angeles") // タイムゾーンを設定する(オプション) .setJobMeta(jobMeta) // ジョブメタデータを設定する(ジョブに応じて変更) .setCronName("yearly_cron") // Cron名を設定する(一意) .setCronDescription("yearly_cron") // Cronの説明を設定する(オプション) .build(); // Cron詳細をビルドする // Yearly Cronを作成する ZCCronDetails yearlyCron = jobScheduling.cron.createCron(yearlyCronDetails); ``` > **Note:** このSDKは[動的Cron](https://docs.catalyst.zoho.com/ja/job-scheduling/help/implementation/submit-job-dynamic-cron/)の設定にのみ使用することを推奨します。[事前定義Cron](https://docs.catalyst.zoho.com/ja/job-scheduling/help/implementation/submit-job-predefined-cron/)の設定には*UIビルダー*を使用してください。