Skip to main content

monolith-job-development

Use when creating or extending asynchronous background jobs, including generator usage, queue registration, payload handling, and worker lifecycle.

معلومات المصدر

المستودع
cggonzal/monolith
آخر نشاط في المصدر
١٤ فبراير ٢٠٢٦ في ٠٣:١١
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٠
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
monolith-job-development
description
Use when creating or extending asynchronous background jobs, including generator usage, queue registration, payload handling, and worker lifecycle.
# Monolith Job Development ## Use this skill when - Adding new async work to `app/jobs/`. - Updating queue handlers or job scheduling behavior. ## Fast path Run: `make generator job <Name>` This typically: - creates `app/jobs/<name>_job.go` - creates matching test file - adds job type constant in `app/models/job.go` - registers handler in `app/jobs/job_queue.go` ## Runtime architecture - Queue initialized via `jobs.InitJobQueue()` in `main.go`. - Worker count controlled by `config.JOB_QUEUE_NUM_WORKERS`. - Jobs are typed via `models.JobType*` enums and payload bytes. ## Implementation workflow 1. Define payload struct and marshal/unmarshal strategy. 2. Implement generated job handler body. 3. Register handler (generator usually does this). 4. Enqueue from controller/service as needed. 5. Add focused tests for decoding + handler behavior. ## Reliability tips - Keep handlers idempotent where possible. - Log failures with useful context. - Treat malformed payloads as explicit errors.
عرض على GitHub