원클릭으로
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 직업 분류 기준
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.
| 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.