一键导入
cron
Explica cómo funcionan las tareas periódicas (cron jobs) en FacturaScripts mediante el archivo Cron.php y la clase CronClass.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Explica cómo funcionan las tareas periódicas (cron jobs) en FacturaScripts mediante el archivo Cron.php y la clase CronClass.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | cron |
| description | Explica cómo funcionan las tareas periódicas (cron jobs) en FacturaScripts mediante el archivo Cron.php y la clase CronClass. |
El sistema de cron de FacturaScripts permite ejecutar tareas periódicas en los plugins. Cada plugin puede tener su propio archivo Cron.php que hereda de CronClass. El cron del sistema gestionará automáticamente todos los procesos cron de los plugins activos.
El cron del sistema debe estar configurado correctamente en el servidor o hosting para que se ejecute periódicamente (por ejemplo, cada minuto).
Para generar automáticamente el archivo Cron.php y añadir un nuevo CronJob:
# Crear el archivo Cron.php base del plugin
fsmaker cron
# Crear un nuevo CronJob y registrarlo en Cron.php
fsmaker cronjob
<?php
namespace FacturaScripts\Plugins\MiPlugin;
use FacturaScripts\Core\Template\CronClass;
class Cron extends CronClass
{
public function run(): void
{
// tu código aquí
}
}
Todo el código dentro de run() se ejecutará cada vez que se active el cron. Para controlar la frecuencia de ejecución de trabajos individuales, se usa el método job().
public function run(): void
{
// ejecutar cada hora
$this->job('mi-trabajo')
->every('1 hour')
->run(function () {
// código a ejecutar cada hora
});
// ejecutar cada 6 horas
$this->job('otro-trabajo')
->every('6 hours')
->run(function () {
// código a ejecutar cada 6 horas
});
// ejecutar cada 10 días
$this->job('trabajo-dias')
->every('10 days')
->run(function () {
// código a ejecutar cada 10 días
});
}
$this->job('mi-trabajo')
->everyDayAt(8)
->run(function () {
// se ejecutará cada día a las 8h
});
Si necesitas una comprobación más estricta (solo ejecutar exactamente a esa hora, sin recuperar ejecuciones perdidas):
$this->job('mi-trabajo')
->everyDayAt(8, true)
->run(function () {
// solo se ejecutará a las 8h exactas
});
$this->job('mi-trabajo')
->everyMondayAt(8)
->run(function () {
// cada lunes a las 8h
});
Métodos disponibles por día de la semana:
everyMondayAt() — luneseveryTuesdayAt() — marteseveryWednesdayAt() — miércoleseveryThursdayAt() — jueveseveryFridayAt() — vierneseverySaturdayAt() — sábadoeverySundayAt() — domingo$this->job('mi-trabajo')
->everyDay(15, 7)
->run(function () {
// cada día 15 a las 7h
});
$this->job('mi-trabajo')
->everyLastDayOfMonthAt(8)
->run(function () {
// el último día de cada mes, a las 8h
});
Si un trabajo no debe ejecutarse mientras otros estén en progreso, usa withoutOverlapping():
// no se ejecuta si hay otro trabajo en progreso
$this->job('mi-trabajo')
->everyDayAt(8)
->withoutOverlapping()
->run(function () {
// código exclusivo
});
Para evitar solapamiento solo con trabajos concretos:
// no se ejecuta si trabajo3 o trabajo4 están en progreso
$this->job('trabajo2')
->everyDayAt(8)
->withoutOverlapping('trabajo3', 'trabajo4')
->run(function () {
// código
});
withoutOverlapping(), puede impedir que otras tareas menos frecuentes lleguen a ejecutarse.Para consultar la documentación oficial completa sobre tareas periódicas con cron en FacturaScripts, invoca el agente docs-expert que te proporcionará detalles completos directamente desde la documentación oficial del framework.
Crea un modelo de FacturaScripts con su clase PHP y archivo XML de tabla.
Configura la ruta de módulos MCP locales privados en ~/.fs-claude.json
Redacta en pantalla (sin crear ningún archivo) un texto en formato markdown, listo para copiar y pegar, que explica las novedades, mejoras y correcciones de un plugin o proyecto de FacturaScripts a partir de un rango de commits o de versiones. Activa esta skill siempre que el usuario pida "redacta las novedades", "escribe la noticia de los cambios", "genera el changelog", "qué ha cambiado desde la versión X", "resume los cambios entre la versión X y la Y", "prepara el anuncio de la nueva versión", o cualquier variación en la que se pida comunicar qué se ha hecho en un rango de commits o entre dos versiones.
Guía para añadir una nueva conexión de FacturaScripts al archivo de configuración
Sincroniza modelos del MCP fs-mcp con sus fuentes (FacturaScripts core o plugins privados). Detecta columnas nuevas/modificadas/eliminadas, mantiene las descripciones unificadas en los archivos de overrides, regenera la metadata y compila si hace falta. Soporta uno o varios modelos, ruta local o URL de GitHub, y un modo "refresh masivo" para auditar todos los modelos del catálogo y actualizar la versión registrada de FacturaScripts.
Responde preguntas sobre cómo usar FacturaScripts consultando la documentación oficial de usuarios a través del agente especializado `docs-expert`. ACTIVAR SIEMPRE que el usuario pregunte cómo hacer una operación, dónde encontrar una función, cómo fluye un proceso (presupuesto→factura), cómo gestionar clientes, inventario, compras, contabilidad, o cualquier aspecto práctico de uso del ERP. También activar cuando Claude necesite explorar la documentación de usuario antes de responder sobre procedimientos — no esperar a que el usuario pregunte explícitamente. No esperes a que mencione "documentación" — si la pregunta o tarea involucra procedimientos operativos en FacturaScripts, activa esta skill.