{ "changelog": "NEW - system kolejki zadaƄ cron (DB), priorytetowe przetwarzanie, retry/backoff, ochrona endpointu cron", "version": "0.324", "files": { "added": [ "autoload/Domain/CronJob/CronJobProcessor.php", "autoload/Domain/CronJob/CronJobRepository.php", "autoload/Domain/CronJob/CronJobType.php" ], "deleted": [ "autoload/.DS_Store", "autoload/front/.DS_Store", "logs/2024-01-05-order-set-as-paid.txt", "logs/2024-08-20-order-set-as-paid.txt", "logs/apilo.txt", "logs/logs-db-2024-08-31.log", "templates/.DS_Store" ], "modified": [ "autoload/Domain/Order/OrderAdminService.php", "autoload/admin/App.php", "autoload/api/ApiRouter.php", "autoload/front/App.php", "cron.php" ] }, "checksum_zip": "sha256:63237e6bdb2ed2c2632cebb45431b26ecd5717b129aa2180540ebce0c3bff77f", "sql": [ "CREATE TABLE IF NOT EXISTS pp_cron_jobs ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, job_type VARCHAR(50) NOT NULL, status ENUM('pending','processing','completed','failed','cancelled') NOT NULL DEFAULT 'pending', priority TINYINT UNSIGNED NOT NULL DEFAULT 100, payload TEXT NULL, result TEXT NULL, attempts SMALLINT UNSIGNED NOT NULL DEFAULT 0, max_attempts SMALLINT UNSIGNED NOT NULL DEFAULT 10, last_error VARCHAR(500) NULL, scheduled_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, started_at DATETIME NULL, completed_at DATETIME NULL, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, INDEX idx_status_priority_scheduled (status, priority, scheduled_at), INDEX idx_job_type (job_type), INDEX idx_status (status) ) ENGINE=InnoDB DEFAULT CHARSET=utf8", "CREATE TABLE IF NOT EXISTS pp_cron_schedules ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, job_type VARCHAR(50) NOT NULL UNIQUE, interval_seconds INT UNSIGNED NOT NULL, priority TINYINT UNSIGNED NOT NULL DEFAULT 100, max_attempts SMALLINT UNSIGNED NOT NULL DEFAULT 3, payload TEXT NULL, enabled TINYINT(1) NOT NULL DEFAULT 1, last_run_at DATETIME NULL, next_run_at DATETIME NULL, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, INDEX idx_enabled_next_run (enabled, next_run_at) ) ENGINE=InnoDB DEFAULT CHARSET=utf8", "INSERT INTO pp_cron_schedules (job_type, interval_seconds, priority, max_attempts) VALUES ('apilo_token_keepalive', 240, 10, 3), ('apilo_send_order', 60, 40, 10), ('apilo_product_sync', 600, 100, 3), ('apilo_pricelist_sync', 3600, 100, 3), ('apilo_status_poll', 600, 100, 3), ('price_history', 86400, 100, 3), ('order_analysis', 600, 100, 3), ('trustmate_invitation', 600, 200, 3), ('google_xml_feed', 3600, 200, 3)" ], "date": "2026-02-27", "directories_deleted": [ ] }