一键导入
rules-rule-async-jobscheduler
Schema and authoring guide for Pega Job Scheduler rules (Rule-Async-JobScheduler), including schedule types, scope, and examples
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Schema and authoring guide for Pega Job Scheduler rules (Rule-Async-JobScheduler), including schedule types, scope, and examples
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when the bundled Pega Infinity Authoring Codex plugin needs setup, authentication help, or troubleshooting. Confirm the plugin MCP server first, then verify the bundled runtime and skills payload.
Use when the GitHub Copilot CLI plugin needs connection setup help, environment configuration, or troubleshooting. Guides first-time setup, OAuth configuration, and recovery from connection failures.
Use this skill when the user asks to design or review a data model, choose between Case Type vs. Data Object, model a business process in App Studio or Dev Studio, add or change Case Types or Data Objects, or structure fields, relationships, primary fields, business keys, or attachments within a Pega application.
Load before creating or updating any Pega rules. Covers the ChangeRequest 4-stage lifecycle (intake, authoring, review, complete), branch isolation, case properties, and resuming cases.
Load when building a DX API assignment action payload for runtime case updates. Covers when to use content, when to use pageInstructions, how to combine them, and how to structure supported page, page-list, and page-group instructions for perform-action.
General instructions for creating and updating Pega rules using the schema-backed authoring tools
| name | rules-rule-async-jobscheduler |
| description | Schema and authoring guide for Pega Job Scheduler rules (Rule-Async-JobScheduler), including schedule types, scope, and examples |
Prerequisite: Load methodology-rule-authoring first
When to use Job Scheduler vs Queue Processor:
| Pattern | Use |
|---|---|
| Recurring task at a fixed time or interval | Job Scheduler |
| Large-volume batch (100 000+ records) | JS + QP Hybrid — JS dispatches; QP processes in parallel |
| Per-node cache initialisation at startup | JS ASSOCIATED_NODE scope + Startup frequency |
| Event-driven processing | Queue Processor — never use JS for event-driven |
| "Background job" that processes "items in the queue" or "waiting records" | Ambiguous — ask before proceeding |
When the user says they want a "background job" (or "scheduled job") that processes "items in the queue", "waiting records", or similar, the architecture depends on how items enter the queue. Ask before creating any rule:
"When items are added — are they pushed immediately when an event occurs (e.g. a case reaches a certain status), or do they wait in the database until a scheduled sweep picks them up?"
Queue-For-Processing; no Job Scheduler is needed.pyPurpose and pyRuleNameAsk the user for the rule name. Use it for pyPurpose; the server auto-derives
pyRuleName from it. The builder's auto-derivation from pyLabel is unreliable
and returns empty strings, producing a malformed instance key (double space in
the key where the name should be). If pyPurpose is omitted, the builder fills
an empty string and the rule is created without a proper name or identity key.
If the user provides a description rather than a name, derive a CamelCase
identifier (e.g. "check for latest tickets" → CheckForLatestTickets).
pyStartTime is local time in pyUseTimeZone — never pre-convert to UTCpyStartTime must be the wall-clock time in the timezone named by pyUseTimeZone.
Do not convert to UTC before sending. If the user wants a job at 17:00 IST
(Asia/Calcutta), send "170000" — not "113000". The server normalises to UTC
internally when it saves the rule; the stored value will differ from what you sent,
but that is correct and expected. Pre-converting to UTC will cause the job to fire at
the wrong local time.
update-rule and pyRecurrencePatternNever include pyRecurrencePattern in an update-rule payload unless you
explicitly intend to change the schedule. Deep merge will overwrite the existing
pyStartTime even if the only intended change was to a different field (e.g.,
pyNodeTypes).
| Skill | When to load |
|---|---|
jobscheduler-checkpoint-pattern | Resumable JS activity design — NEW/IN-PROGRESS/PROCESSED pattern |
jobscheduler-legacy-agent-replacement | Migrating Rule-Async-Agent to JS or QP |
jobscheduler-alerts | Alert IDs and recommended actions |
| Skill | Description |
|---|---|
Stub Job Scheduler | Minimal valid create payload — required fields only |
Cluster-Scoped Daily Job Scheduler | Cluster scope, daily at 02:00, using the Checkpoint Pattern |
Per-Node Startup Job Scheduler | Associated node scope, Startup frequency — per-node initialisation |
JS + QP Hybrid — High-Volume Batch Dispatch | Cluster scope JS dispatch activity — see Enqueue and Dispatch for the activity design |