お知らせ:

当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

Dynamic Cronを使用したJob Poolへのジョブの送信

**Dynamic Cron**を使用すると、コードを通じてCronを設定し、ランタイム中にJob Poolへのジョブ送信を動的にスケジュールできます。このヘルプセクションでは、Dynamic Cronを使用してJob Poolへのジョブ送信をスケジュールするために必要な手順を説明します。

Dynamic Cronを作成する前に、Job Poolのタイプに応じて、以下のコンポーネントがCatalystコンソールに設定・存在していることを確認してください:

  • Function Job Pool: Job FunctionCatalyst CLIで初期化した場合、Dynamic Cronの設定を含むコードファイルとともにCatalystコンソールにデプロイする必要があります。
  • Webhook Job Pool: サードパーティURLのURLが有効であることを確認してください。
  • Circuit Job Pool: Circuitとその関連する関数がCatalystコンソールに作成・存在していることを確認してください。
  • AppSail Job Pool: AppSailサービスをCatalystコンソールにデプロイ済みであることを確認してください。

Dynamic Cronを作成する際に覚えておくべきポイント:

  • Dynamic Cronは、理想的にはランタイム中に有効化され実行されます。
  • 開発環境で作成されたDynamic Cronは、本番環境に移行できません。
  • Dynamic Cronは、Pre-Defined Cronとまったく同じ方法Builderを使用して作成できます。ただし、このオプションは本番環境でDynamic Cronの機能を作成しテストするために提供されています。

Dynamic Cronの設定

Dynamic Cronを作成して設定するには:

  1. CatalystコンソールのJob Schedulingサービスセクションに移動し、Start Exploringをクリックします。 catalyst_job_scheduling_start_exploring_page

  2. JOB EXECUTORの下にあるCronをクリックしてCronコンポーネントにアクセスし、DynamicタブにあるCreate Cronボタンをクリックします。 catalyst_job_scheduling_dynamic_cron_start

  3. SDKタブをクリックします。 catalyst_job_scheduling_dynamic_cron_sdk_code_select

注意:
  • このヘルプドキュメントでは、Catalyst SDKを使用してコードでDynamic Cronを作成するために必要な手順のみを説明します。
  • Builderを使用してPre-Defined Cronを作成する手順が説明されているこちらのヘルプドキュメントを参照してください。BuilderDynamic Cronの作成にもまったく同じ方法で使用できます。
  • Builderを使用してDynamic Cronを使用するオプションは、本番環境でDynamic Cronの機能を作成しテストするために提供されています。
  1. ドロップダウンから、Cronのコーディングに必要なコードスニペットのタイプを選択します。 catalyst_job_scheduling_dynamic_cron_sdk_snip_drop-down

ワンタイムDynamic Cronの設定

One-Time Dynamic Cron
copy

// ONE TIME CRON => which will run after 60 minutes from the current time

ZCJobScheduling jobScheduling = ZCJobScheduling.getInstance(); // ジョブスケジューリングインスタンスを取得する

// Functionジョブのメタデータを生成する ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // Functionジョブビルダーを取得する .setJobConfig(2, 15 * 60 * 1000L) // ジョブ設定 - リトライ => 15分で2回リトライ(オプション) .setJobpoolName(“functions_job_pool”) // 関数ジョブプールの名前を設定する(オプション)(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詳細を生成する ZCCronDetails oneTimeCronDetails = ZCCronBuilder.zcOneTimeCronBuilder() // ワンタイムCronビルダーを取得する .setCronStatus(true) // Cronを有効に設定する .cronConfig(System.currentTimeMillis() + (60 * 1000 * 1000)) // 実行時刻をUNIXタイムスタンプで設定する .setJobMeta(jobMeta) // ジョブメタデータを設定する(ジョブに応じて変更) .setCronName(“one_time_cron”) // Cron名を設定する(一意) .build(); // Cron詳細をビルドする

// ワンタイムCronを作成する ZCCronDetails oneTimeCron = jobScheduling.cron.createCron(oneTimeCronDetails);

View more
One-Time Dynamic Cron
copy

// ONE TIME CRON => which will run after 60mins for the current time

const jobScheduling = app.jobScheduling(); // ジョブスケジューリングインスタンスを作成する

// Functionジョブを作成する meta const jobMeta = { job_name: ’test_job’, // ジョブの名前を設定する target_type: ‘Function’, // Function用のターゲットタイプをFunctionに設定する target_name: ’target_function’, // ターゲット関数の名前を設定する(オプション)(target_idまたはtarget_nameは必須) // target_id: ‘123467890’, // ターゲット関数のIDを設定する(オプション)(target_idまたはtarget_nameは必須) jobpool_name: ’test’, // 関数ジョブプールの名前を設定する(オプション)(jobpool_nameまたはjobpool_idは必須) // jobpool_id: ‘1234567890’ // 関数ジョブプールのIDを設定する(オプション)(jobpool_nameまたはjobpool_idは必須) job_config: { number_of_retries: 2, // リトライ回数を設定する retry_interval: 15 * 60 * 1000 + ’’ // リトライ間隔を設定する }, // ジョブ設定 - リトライ => 15分で2回リトライ(オプション) params: { arg1: ’test’, arg2: ‘job’ }, // ターゲット関数に渡すパラメータを設定する(オプション) };

// ワンタイムCronを作成する details const oneTimeCron = { cron_name: ‘one_time’, // Cronの名前を設定する(一意) cron_status: true, // Cronのステータスを有効に設定する cron_type: ‘OneTime’, // CronタイプをOneTimeに設定する cron_detail: { time_of_execution: Date.now() + (60 * 1000 * 1000) + ’’ // 実行時刻をUNIXタイムスタンプで設定する }, job_meta: jobMeta // Functionジョブメタデータを設定する };

// ワンタイムCronを作成する const cronDetails = await jobScheduling.CRON.createCron(oneTimeCron);

View more
One-Time Dynamic Cron
copy
# ONE TIME CRON => which will run after 60mins for the current time

job_scheduling = app.job_scheduling() # ジョブスケジューリングインスタンスを作成する

# Functionジョブメタデータを作成する

job_meta = { ‘job_name’: ’test_job’, # ジョブの名前を設定する ’target_type’: ‘Function’, # Function用のターゲットタイプをFunctionに設定する ’target_name’: ’target_function’, # ターゲット関数の名前を設定する(オプション)(target_idまたはtarget_nameは必須) # ’target_id’: ‘123467890’, # ターゲット関数のIDを設定する(オプション)(target_idまたはtarget_nameは必須) ‘jobpool_name’: ’test’, # 関数ジョブプールの名前を設定する(オプション)(jobpool_nameまたはjobpool_idは必須) # ‘jobpool_id’: ‘1234567890’ # 関数ジョブプールのIDを設定する(オプション)(jobpool_nameまたはjobpool_idは必須) ‘job_config’: { ’number_of_retries’: 2, # リトライ回数を設定する ‘retry_interval’: 15 * 60 * 1000 # リトライ間隔を設定する }, # ジョブ設定 - リトライ => 15分で2回リトライ(オプション) ‘params’: { ‘arg1’: ’test’, ‘arg2’: ‘job’ } # ターゲット関数に渡すパラメータを設定する(オプション) }

# ワンタイムCronを作成する

one_time_cron_details = job_scheduling.CRON.create({ ‘cron_name’: ‘one_time’, # Cronの名前を設定する(一意) ‘cron_status’: True, # Cronのステータスを有効に設定する ‘cron_type’: ‘OneTime’, # CronタイプをOneTimeに設定する ‘cron_detail’: { ’time_of_execution’: int(time.time()) + (60 * 10 * 1000) # 実行時間をUNIXタイムスタンプとして設定する }, ‘job_meta’: job_meta # Functionジョブメタデータを設定する })

View more

再帰的Dynamic Cronの設定

Recursive Dynamic Cron
copy

ZCJobScheduling jobScheduling = ZCJobScheduling.getInstance(); // ジョブスケジューリングインスタンスを取得する

// Functionジョブのメタデータを生成する ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // Functionジョブビルダーを取得する .setJobConfig(2, 15 * 60 * 1000L) // ジョブ設定 - リトライ => 15分で2回リトライ(オプション) .setJobpoolName(“functions_job_pool”) // 関数ジョブプールの名前を設定する(オプション)(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名を設定する(一意) .build(); // Cron詳細をビルドする

// Every Cronを作成する ZCCronDetails everyCron = jobScheduling.cron.createCron(everyCronDetails);

// 日次CRON => 毎日0時0分0秒に実行される

// Cron詳細を生成する ZCCronDetails dailyCronDetails = ZCCronBuilder.zcDailyCronBuilder() // Daily Cronビルダーを取得する .setCronStatus(true) // Cronを有効に設定する .setTime(0, 0, 0) // Cronを実行する時刻を設定する .setJobMeta(jobMeta) // ジョブメタデータを設定する(ジョブに応じて変更) .setCronName(“daily_cron”) // Cron名を設定する(一意) .build(); // Cron詳細をビルドする

// Daily Cronを作成する ZCCronDetails dailyCron = jobScheduling.cron.createCron(dailyCronDetails);

// 月次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) // 曜日を設定する(週ベースまたは日ベースの設定が必要) .setJobMeta(jobMeta) // ジョブメタデータを設定する(ジョブに応じて変更) .setCronName(“monthly_cron”) // Cron名を設定する(一意) .build(); // Cron詳細をビルドする

// Monthly Cronを作成する ZCCronDetails monthlyCron = jobScheduling.cron.createCron(monthlyCronDetails);

// 年次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) // 月を設定する .setJobMeta(jobMeta) // ジョブメタデータを設定する(ジョブに応じて変更) .setCronName(“yearly_cron”) // Cron名を設定する(一意) .build(); // Cron詳細をビルドする

// Yearly Cronを作成する ZCCronDetails yearlyCron = jobScheduling.cron.createCron(yearlyCronDetails);

View more
Recursive Dynamic Cron
copy

const jobScheduling = app.jobScheduling(); // ジョブスケジューリングインスタンスを作成する

// Functionジョブを作成する meta const jobMeta = { job_name: ’test_job’, // ジョブの名前を設定する target_type: ‘Function’, // Function用のターゲットタイプをFunctionに設定する target_name: ’target_function’, // ターゲット関数の名前を設定する(オプション)(target_idまたはtarget_nameは必須) // target_id: ‘123467890’, // ターゲット関数のIDを設定する(オプション)(target_idまたはtarget_nameは必須) jobpool_name: ’test’, // 関数ジョブプールの名前を設定する(オプション)(jobpool_nameまたはjobpool_idは必須) // jobpool_id: ‘1234567890’ // 関数ジョブプールのIDを設定する(オプション)(jobpool_nameまたはjobpool_idは必須) job_config: { number_of_retries: 2, // リトライ回数を設定する retry_interval: 15 * 60 * 1000 + ’’ // リトライ間隔を設定する }, // ジョブ設定 - リトライ => 15分で2回リトライ(オプション) params: { arg1: ’test’, arg2: ‘job’ }, // ターゲット関数に渡すパラメータを設定する(オプション) };

// 定期CRON => 2時間1分3秒ごとに実行される

// Every Cronを作成する details const everyCron = { cron_name: ’every_cron’, // Cronの名前を設定する(一意) cron_status: true, // Cronのステータスを有効に設定する cron_type: ‘Periodic’, // Every Cron用のCronタイプをPeriodicに設定する cron_detail: { hour: 2, // 繰り返しの時間間隔を設定する minute: 1, // 繰り返しの分間隔を設定する second: 3, // 繰り返しの秒間隔を設定する repetition_type: “every” // Every Cron用の繰り返しタイプをeveryに設定する }, job_meta: jobMeta // Functionジョブメタデータを設定する };

// Every Cronを作成する const everyCronDetails = await jobScheduling.CRON.createCron(everyCron);

// 日次CRON => 毎日0時0分0秒に実行される

// Daily Cronを作成する details const dailyCron = { cron_name: ‘daily_cron’, // Cronの名前を設定する(一意) cron_status: true, // Cronのステータスを有効に設定する cron_type: ‘Calendar’, // Daily、Monthly、Yearly用のCronタイプをCalendarに設定する cron_detail: { hour: 0, // Cronを実行する時を設定する minute: 0, // Cronを実行する分を設定する second: 0, // Cronを実行する秒を設定する repetition_type: ‘daily’ // Daily Cron用の繰り返しタイプをdailyに設定する }, job_meta: jobMeta // Functionジョブメタデータを設定する };

// Daily Cronを作成する const dailyCronDetails = await jobScheduling.CRON.createCron(dailyCron);

// 月次CRON => 毎月1日、3日、5日の0時0分0秒に実行される

// Monthly Cronを作成する details const monthlyCron = { cron_name: ‘monthly_cron’, // Cronの名前を設定する(一意) cron_status: true, // Cronのステータスを有効に設定する cron_type: ‘Calendar’, // Daily、Monthly、Yearly用のCronタイプをCalendarに設定する cron_detail: { hour: 0, // Cronを実行する時を設定する minute: 0, // Cronを実行する分を設定する second: 0, // Cronを実行する秒を設定する days: [1, 3, 5], // 月の日を設定する in which the cron should be executed // week_day: [1, 3], // cronを実行する月の曜日を設定する // weeks_of_month: [2], // cronを実行する月の週を設定する repetition_type: ‘monthly’ // Monthly Cron用の繰り返しタイプをmonthlyに設定する }, job_meta: jobMeta // Functionジョブメタデータを設定する };

// Monthly Cronを作成する const monthlyCronDetails = await jobScheduling.CRON.createCron(monthlyCron);

// 年次CRON => 年の8月の1日、2日、3日の0時0分0秒に実行される

// Yearly Cronを作成する details const yearlyCron = { cron_name: ‘yearly_cron’, // Cronの名前を設定する(一意) cron_status: true, // Cronのステータスを有効に設定する cron_type: ‘Calendar’, // Daily、Monthly、Yearly用のCronタイプをCalendarに設定する cron_detail: { hour: 0, // Cronを実行する時を設定する minute: 0, // Cronを実行する分を設定する second: 0, // Cronを実行する秒を設定する days: [1, 2, 3], // 月の日を設定する in which the cron should be executed // week_day: [1, 3], // cronを実行する月の曜日を設定する // weeks_of_month: [2], // cronを実行する月の週を設定する months: [8], // 月を設定する of the year in which the cron should be executed repetition_type: ‘yearly’ // Yearly Cron用の繰り返しタイプをyearlyに設定する }, job_meta: jobMeta // Functionジョブメタデータを設定する };

// Yearly Cronを作成する const yearlyCronDetails = await jobScheduling.CRON.createCron(yearlyCron);

View more
Recursive Dynamic Cron
copy

job_scheduling = app.job_scheduling() # ジョブスケジューリングインスタンスを作成する

# Functionジョブメタデータを作成する

job_meta = { ‘job_name’: ’test_job’, # ジョブの名前を設定する ’target_type’: ‘Function’, # Function用のターゲットタイプをFunctionに設定する ’target_name’: ’target_function’, # ターゲット関数の名前を設定する(オプション)(target_idまたはtarget_nameは必須) # ’target_id’: ‘123467890’, # ターゲット関数のIDを設定する(オプション)(target_idまたはtarget_nameは必須) ‘jobpool_name’: ’test’, # 関数ジョブプールの名前を設定する(オプション)(jobpool_nameまたはjobpool_idは必須) # ‘jobpool_id’: ‘1234567890’ # 関数ジョブプールのIDを設定する(オプション)(jobpool_nameまたはjobpool_idは必須) ‘job_config’: { ’number_of_retries’: 2, # リトライ回数を設定する ‘retry_interval’: 15 * 60 * 1000 # リトライ間隔を設定する }, # ジョブ設定 - リトライ => 15分で2回リトライ(オプション) ‘params’: { ‘arg1’: ’test’, ‘arg2’: ‘job’ } # ターゲット関数に渡すパラメータを設定する(オプション) }

# EVERY CRON => which will be run for every 2hrs 1min and 3sec

every_cron = job_scheduling.CRON.create({ ‘cron_name’: ’every_cron’, # Cronの名前を設定する(一意) ‘cron_status’: True, # Cronのステータスを有効に設定する ‘cron_type’: ‘Periodic’, # Every Cron用のCronタイプをPeriodicに設定する ‘cron_detail’: { ‘hour’: 2, # 繰り返しの時間間隔を設定する ‘minute’: 1, # 繰り返しの分間隔を設定する ‘second’: 3, # 繰り返しの秒間隔を設定する ‘repetition_type’: ’every’ # Every Cron用の繰り返しタイプをeveryに設定する }, ‘job_meta’: job_meta # Functionジョブメタデータを設定する })

# DAILY CRON => which will be run on 0hrs 0mins and 0sec daily

daily_cron = job_scheduling.CRON.create({ ‘cron_name’: ‘daily_cron’, # Cronの名前を設定する(一意) ‘cron_status’: True, # Cronのステータスを有効に設定する ‘cron_type’: ‘Calendar’, # Daily、Monthly、Yearly用のCronタイプをCalendarに設定する ‘cron_detail’: { ‘hour’: 0, # Cronを実行する時を設定する ‘minute’: 0, # Cronを実行する分を設定する ‘second’: 0, # Cronを実行する秒を設定する ‘repetition_type’: ‘daily’ # Daily Cron用の繰り返しタイプをdailyに設定する }, ‘job_meta’: job_meta # Functionジョブメタデータを設定する })

# MONTHLY CRON => which will be run on 0hrs 0mins 0sec on 1st 3rd and 5th days of every month

monthly_cron = job_scheduling.CRON.create({ ‘cron_name’: ‘monthly_cron’, # Cronの名前を設定する(一意) ‘cron_status’: True, # Cronのステータスを有効に設定する ‘cron_type’: ‘Calendar’, # Daily、Monthly、Yearly用のCronタイプをCalendarに設定する ‘cron_detail’: { ‘hour’: 0, # Cronを実行する時を設定する ‘minute’: 0, # Cronを実行する分を設定する ‘second’: 0, # Cronを実行する秒を設定する ‘days’: [1, 3, 5], # Cronを実行する月の日を設定する # ‘week_day’: [1, 3], # Cronを実行する週の曜日を設定する # ‘weeks_of_month’: [2], # Cronを実行する月の週を設定する ‘repetition_type’: ‘monthly’ # Monthly Cron用の繰り返しタイプをmonthlyに設定する }, ‘job_meta’: job_meta # Functionジョブメタデータを設定する })

# YEARLY CRON => which will be run on 0hrs 0min 0sec on 1st 2nd 3rd days of the 8th month of a year

yearly_cron = job_scheduling.CRON.create({ ‘cron_name’: ‘yearly_cron’, # Cronの名前を設定する(一意) ‘cron_status’: True, # Cronのステータスを有効に設定する ‘cron_type’: ‘Calendar’, # Daily、Monthly、Yearly用のCronタイプをCalendarに設定する ‘cron_detail’: { ‘hour’: 0, # Cronを実行する時を設定する ‘minute’: 0, # Cronを実行する分を設定する ‘second’: 0, # Cronを実行する秒を設定する ‘days’: [1, 2, 3], # Cronを実行する月の日を設定する # ‘week_day’: [1, 3], # Cronを実行する週の曜日を設定する # ‘weeks_of_month’: [2], # Cronを実行する月の週を設定する ‘months’: [8], # Cronを実行する年の月を設定する ‘repetition_type’: ‘yearly’ # Yearly Cron用の繰り返しタイプをyearlyに設定する }, ‘job_meta’: job_meta # Functionジョブメタデータを設定する })

View more

Cron Expressionsを使用したDynamic Cronの定義

Dynamic Cron Using Cron Expressions
copy

// EXPRESSION CRON => which will be run for on 0hrs 0min on every 1st day of the weeks in the first month of the year

ZCJobScheduling jobScheduling = ZCJobScheduling.getInstance(); // ジョブスケジューリングインスタンスを取得する

// Functionジョブのメタデータを生成する ZCJobMetaDetail jobMeta = ZCJobBuilder.functionJobBuilder() // Functionジョブビルダーを取得する .setJobConfig(2, 15 * 60 * 1000L) // ジョブ設定 - リトライ => 15分で2回リトライ(オプション) .setJobpoolName(“functions_job_pool”) // 関数ジョブプールの名前を設定する(オプション)(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詳細を生成する ZCCronDetails expressionCronDetails = ZCCronBuilder.zcExpressionCronBuilder() // 式Cronビルダーを取得する .setCronStatus(true) // Cronを有効に設定する .setCronExpression(“0 0 * 1 1”) // UNIX Cron式を設定する .setCronName(“expression_cron”) // set cron name .setJobMeta(jobMeta) // ジョブメタデータを設定する .build(); // Cron詳細をビルドする

// 式Cronを作成する ZCCronDetails expressionCron = jobScheduling.cron.createCron(expressionCronDetails);

View more
Dynamic Cron Using Cron Expressions
copy

// EXPRESSION CRON => which will be run for on 0hrs 0min on every 1st day of the weeks in the first month of the year

const jobScheduling = app.jobScheduling(); // ジョブスケジューリングインスタンスを作成する

// Functionジョブを作成する meta const jobMeta = { job_name: ’test_job’, // ジョブの名前を設定する target_type: ‘Function’, // Function用のターゲットタイプをFunctionに設定する target_name: ’target_function’, // ターゲット関数の名前を設定する(オプション)(target_idまたはtarget_nameは必須) // target_id: ‘123467890’, // ターゲット関数のIDを設定する(オプション)(target_idまたはtarget_nameは必須) jobpool_name: ’test’, // 関数ジョブプールの名前を設定する(オプション)(jobpool_nameまたはjobpool_idは必須) // jobpool_id: ‘1234567890’ // 関数ジョブプールのIDを設定する(オプション)(jobpool_nameまたはjobpool_idは必須) job_config: { number_of_retries: 2, // リトライ回数を設定する retry_interval: 15 * 60 * 1000 + ’’ // リトライ間隔を設定する }, // ジョブ設定 - リトライ => 15分で2回リトライ(オプション) params: { arg1: ’test’, arg2: ‘job’ }, // ターゲット関数に渡すパラメータを設定する(オプション) };

// 式Cronを作成する details const expressionCron = { cron_name: ’expression_cron’, // Cronの名前を設定する(一意) cron_status: true, // Cronのステータスを有効に設定する cron_type: ‘CronExpression’, // Daily、Monthly、Yearly用のCronタイプをCalendarに設定する cron_expression: ‘0 0 * 1 1’, // Cron式を設定する cron_detail: {}, // Cron詳細を設定する job_meta: jobMeta // Functionジョブメタデータを設定する };

// 式Cronを作成する const expressionCronDetails = await jobScheduling.CRON.createCron(expressionCron);

View more
Dynamic Cron Using Cron Expressions
copy
# CRON EXPRESSION => which will be run for on 0hrs 0min on every 1st day of the weeks in the first month of the year

job_scheduling = app.job_scheduling() # ジョブスケジューリングインスタンスを作成する

# Functionジョブメタデータを作成する

job_meta = { ‘job_name’: ’test_job’, # ジョブの名前を設定する ’target_type’: ‘Function’, # Function用のターゲットタイプをFunctionに設定する ’target_name’: ’target_function’, # ターゲット関数の名前を設定する(オプション)(target_idまたはtarget_nameは必須) # ’target_id’: ‘123467890’, # ターゲット関数のIDを設定する(オプション)(target_idまたはtarget_nameは必須) ‘jobpool_name’: ’test’, # 関数ジョブプールの名前を設定する(オプション)(jobpool_nameまたはjobpool_idは必須) # ‘jobpool_id’: ‘1234567890’ # 関数ジョブプールのIDを設定する(オプション)(jobpool_nameまたはjobpool_idは必須) ‘job_config’: { ’number_of_retries’: 2, # リトライ回数を設定する ‘retry_interval’: 15 * 60 * 1000 # リトライ間隔を設定する }, # ジョブ設定 - リトライ => 15分で2回リトライ(オプション) ‘params’: { ‘arg1’: ’test’, ‘arg2’: ‘job’ } # ターゲット関数に渡すパラメータを設定する(オプション) }

# 式Cronを作成する

expression_cron = job_scheduling.CRON.create({ ‘cron_name’: ’expression_cron’, # Cronの名前を設定する(一意) ‘cron_status’: True, # Cronのステータスを有効に設定する ‘cron_type’: ‘CronExpression’, # Daily、Monthly、Yearly用のCronタイプをCalendarに設定する ‘cron_expression’: ‘0 0 * 1 1’, # Cron式を設定する ‘cron_detail’: {}, # Cron詳細を設定する ‘job_meta’: job_meta # Functionジョブメタデータを設定する })

View more
  1. 要件に応じてコピーアイコンを使用してコードをコピーし、ビジネスロジックに追加して要件に応じてコーディングします。

  2. コードファイルに含まれるDynamic Cronの設定は、プロジェクトをCatalystコンソールにデプロイするとデプロイされ、コンソールで利用可能になります。

  3. Dynamic Cronはランタイム中に作成され、コードで設定されたジョブは設定されたスケジュールに従ってランタイム中にJob Poolに送信されます。 catalyst_job_scheduling_dynamic_cron_prod_created_runtime

注意: 必要なDynamic Cronを作成するための各ランタイムのコードスニペットは、各ランタイムのSDKドキュメントでも確認できます:

最終更新日 2026-03-30 13:40:30 +0530 IST