AI Scheduler
AI Scheduler
AI Scheduler te permite definir jobs de generación de contenido recurrentes que se ejecutan automáticamente en cron. Cada job envía un prompt a un proveedor IA y deja el output en Content Review para aprobación antes de publicar.
Cómo funciona
Trigger cron
│
▼
plg_task_joomlaai (Joomla) / wpai_run_due_jobs (WP-Cron)
│
▼
SchedulerService::runDueJobs()
│ Lock de fila del job (UPDATE WHERE is_running = 0)
▼
AIService::generateForJob($job)
│ Llama a la API del proveedor
▼
Output guardado → tabla ContentReview (status: pending)
│
▼
Notificación email (si se configuró)
El lock de fila impide que un mismo job se ejecute dos veces si dos triggers cron disparan a la vez.
Lista de jobs
Ve a JoomlaAI → AI Scheduler.
| Columna | Descripción |
|---|---|
| Título | Nombre legible |
| Snippet prompt | Primeros 80 caracteres del prompt |
| Schedule | Expresión cron (etiqueta legible) |
| Provider | Proveedor IA usado |
| Última ejecución | Timestamp de la ejecución más reciente |
| Estado | active / paused / error |
| Acciones | Editar · Pausar/Reanudar · Ejecutar ahora · Eliminar |
El botón Ejecutar ahora dispara el job inmediatamente sin respetar su schedule. Útil para tests.
Crear un job
Pulsa Nuevo en la barra de herramientas.
Pestaña General
| Campo | Obligatorio | Descripción |
|---|---|---|
| Título | Sí | Nombre descriptivo mostrado en la lista |
| Prompt | Sí | El texto enviado a la IA. Usa {placeholders} para contenido dinámico. |
| Schedule | Sí | Cada cuándo se ejecuta (ver schedules abajo) |
| Provider | No | Override del proveedor global por defecto |
| Modelo | No | Override del modelo global por defecto |
| Estado | Sí | Active o Paused |
Pestaña Contenido
| Campo | Descripción |
|---|---|
| Plantilla título output | Plantilla para el título del artículo generado (ej. {date} — Actualización semanal) |
| Categoría destino | Categoría Joomla / WP a asignar al publicar |
| Tags | Tags separados por coma a aplicar al publicar |
| Acción post-publicación | draft, published, o pending (WP) / 0 o 1 (estado Joomla) |
Pestaña Opciones
| Campo | Default | Descripción |
|---|---|---|
| Tokens máx | 1024 | Límite de longitud del output |
| Temperature | 0.7 | Nivel de creatividad (0 = determinista, 2 = muy creativo) |
| Retry on failure | 2 | Cuántos reintentos si el proveedor falla |
| Notify on success | OFF | Email cuando el output esté listo |
| Notify on failure | ON | Email si todos los retries fallan |
Opciones de schedule
| Etiqueta | Expresión cron | Ejecuciones |
|---|---|---|
| Cada 5 minutos | */5 * * * * | 288× / día |
| Cada hora | 0 * * * * | 24× / día |
| Diario (medianoche) | 0 0 * * * | 1× / día |
| Diario (08:00) | 0 8 * * * | 1× / día |
| Semanal (Lun 08:00) | 0 8 * * 1 | 1× / semana |
| Mensual (día 1, 08:00) | 0 8 1 * * | 1× / mes |
| Custom | — | Cualquier expresión cron válida |
Placeholders en prompts
Usa placeholders entre llaves en el texto. El scheduler los sustituye en tiempo de ejecución:
| Placeholder | Valor |
|---|---|
{date} | Fecha actual (YYYY-MM-DD) |
{day} | Nombre del día (Monday, Tuesday…) |
{month} | Nombre del mes (January…) |
{year} | Año a 4 dígitos |
{site_name} | Nombre del sitio |
{site_url} | URL del sitio |
Los placeholders custom de la Template Library también se soportan.
Tareas programadas integradas
Tres tareas vienen pre-instaladas y se ejecutan automáticamente:
| Task | Schedule default | Descripción |
|---|---|---|
| JoomlaAI: run due jobs | Cada 5 minutos | Ejecuta los jobs activos cuya próxima ejecución haya pasado |
| JoomlaAI: provider health check | Cada hora | Ping a cada proveedor configurado, actualiza el estado del Dashboard |
| JoomlaAI: cleanup old data | Diario (03:00) | Purga chat history antiguo, sesiones caducadas, audit viejo |
Permisos
| Capability | Acceso |
|---|---|
joomlaai.scheduler / wpai_manage_scheduler | Crear, editar, eliminar, ejecutar jobs |
core.manage / wpai_dashboard | Ver el Scheduler (solo lectura) |
_Última actualización: 2026-05-19 · v2.5.3_


