build-update.ps1 was reading SQL migrations line-by-line, causing multi-line CREATE TABLE/INSERT statements to be stored as fragments in manifests. Fixed to strip comments, join lines, and split by semicolons. Fixed ver_0.324_manifest.json with correct SQL statements. Added try-catch in UpdateRepository to prevent fatal crashes on SQL errors. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
37 lines
3.3 KiB
JSON
37 lines
3.3 KiB
JSON
{
|
|
"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": [
|
|
|
|
]
|
|
} |