bitrix-background-jobs について
bitrix-background-jobsは、Bitrixでバックグラウンド処理を実装するためのリファレンススキルです。定期エージェント、レスポンス後のジョブ、Messengerキュー、コマンドラインコマンドの選択肢と、実行コンテキストや信頼性の要件を説明します。
主な機能
- 01ジョブ方式の選択ガイド
- 02定期・遅延エージェントの指針
- 03レスポンス後ジョブの指針
- 04Messengerキューと再試行の指針
- 05冪等性と実行コンテキストの規則
活用シーン
- 01定期または遅延タスクのスケジュール
- 02レスポンス後に短い処理を実行
- 03再試行付きキューでメッセージを処理
- 04単発の長時間移行を計画
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bxmaximum/ bitrix-framework-skills --skill bitrix-background-jobsインストール後、Claude Code で/bitrix-background-jobsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
rules/agents.mdbackground-job.mdmessenger-config.mdmessenger.md詳細
バックグラウンドジョブ
ベースライン:main 23.0+ · 検証済み:main 26.800.0
| タスク | 参照先 |
|---|---|
| 定期タスクまたは遅延タスク、cron で実行するエージェント、長時間実行するエージェント | rules/agents.md |
| レスポンス送信後に行う短時間の後処理 | rules/background-job.md |
| キュー:メッセージ、受信側、ディスパッチ、再試行 | rules/messenger.md |
キュー設定、ブローカー、messenger:consume、カーネルキュー | rules/messenger-config.md |
選択の目安:スケジュール実行 → エージェント(cron で実行);レスポンス送信後に行う数秒程度の処理 → addBackgroundJob;再試行、大量処理、並列ワーカー → Messenger(main 25.100.300 以降、アルファ版);単発の長時間実行マイグレーション → コンソールコマンド(bitrix-console-commands)。
不変条件
- バックグラウンドコードにはユーザーコンテキストがありません。エージェントと受信側では
global $USER = nullを設定し、$_SESSION/Cookie は使用しません。ユーザー ID とサイト ID は明示的に渡してください。 - リクエストを受けた場合、エージェント、
webモードの Messenger、addBackgroundJob()は、レスポンス送信後、OnAfterEpilogとsession_write_close()の後に実行されます。このとき、DB プールは強制的にマスターへ接続します。 - ジョブのコードは薄く保ちます。
ServiceLocator::getInstance()->get()でサービスを解決して呼び出してください(エージェントではコンストラクター DI を使用しません —bitrix-framework)。 - ジョブは冪等である必要があります。エージェントは並列で 2 回実行されることがあり、メッセージは再配信されることがあります。
- 失敗は PSR-3 ロガー(
bitrix-logger)を通じて記録してください。モジュールのアンインストール時には、エージェントを削除してください。
コメント
Markdown 対応