mcpField
B
bitrix-background-jobs

bitrix-background-jobs

github.com/bxmaximum開発47271 回インストール2 週間前に更新
リポジトリ

bitrix-background-jobs について

bitrix-background-jobsは、Bitrixでバックグラウンド処理を実装するためのリファレンススキルです。定期エージェント、レスポンス後のジョブ、Messengerキュー、コマンドラインコマンドの選択肢と、実行コンテキストや信頼性の要件を説明します。

主な機能

  1. 01ジョブ方式の選択ガイド
  2. 02定期・遅延エージェントの指針
  3. 03レスポンス後ジョブの指針
  4. 04Messengerキューと再試行の指針
  5. 05冪等性と実行コンテキストの規則

活用シーン

  1. 01定期または遅延タスクのスケジュール
  2. 02レスポンス後に短い処理を実行
  3. 03再試行付きキューでメッセージを処理
  4. 04単発の長時間移行を計画

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bxmaximum/bitrix-framework-skills --skill bitrix-background-jobs

インストール後、Claude Code で/bitrix-background-jobsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

rules/
agents.md
background-job.md
messenger-config.md
messenger.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)を通じて記録してください。モジュールのアンインストール時には、エージェントを削除してください。

コメント