Dynamic Cronを使用したJob Poolへのジョブの送信
**Dynamic Cron**を使用すると、コードを通じてCronを設定し、ランタイム中にJob Poolへのジョブ送信を動的にスケジュールできます。このヘルプセクションでは、Dynamic Cronを使用してJob Poolへのジョブ送信をスケジュールするために必要な手順を説明します。
Dynamic Cronを作成する前に、Job Poolのタイプに応じて、以下のコンポーネントがCatalystコンソールに設定・存在していることを確認してください:
- Function Job Pool: Job FunctionをCatalyst 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を作成して設定するには:
-
CatalystコンソールのJob Schedulingサービスセクションに移動し、Start Exploringをクリックします。

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

- このヘルプドキュメントでは、Catalyst SDKを使用してコードでDynamic Cronを作成するために必要な手順のみを説明します。
- Builderを使用してPre-Defined Cronを作成する手順が説明されているこちらのヘルプドキュメントを参照してください。BuilderはDynamic Cronの作成にもまったく同じ方法で使用できます。
- Builderを使用してDynamic Cronを使用するオプションは、本番環境でDynamic Cronの機能を作成しテストするために提供されています。
ワンタイムDynamic Cronの設定
// 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);
// 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);
# 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ジョブメタデータを設定する
})
再帰的Dynamic Cronの設定
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);
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);
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ジョブメタデータを設定する
})
Cron Expressionsを使用したDynamic Cronの定義
// 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);
// 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);
# 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ジョブメタデータを設定する
})
-
要件に応じてコピーアイコンを使用してコードをコピーし、ビジネスロジックに追加して要件に応じてコーディングします。
-
コードファイルに含まれるDynamic Cronの設定は、プロジェクトをCatalystコンソールにデプロイするとデプロイされ、コンソールで利用可能になります。
-
Dynamic Cronはランタイム中に作成され、コードで設定されたジョブは設定されたスケジュールに従ってランタイム中にJob Poolに送信されます。

最終更新日 2026-03-30 13:40:30 +0530 IST
Yes
No
Send your feedback to us

