Files
shopPRO/updates/0.30/ver_0.324_manifest.json
2026-02-27 13:32:36 +01:00

79 lines
4.5 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": [
"-- System kolejki zadań cron",
"-- Wersja: 0.324",
"CREATE TABLE IF NOT EXISTS pp_cron_jobs (",
" id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,",
" job_type VARCHAR(50) NOT NULL,",
" status ENUM(\u0027pending\u0027,\u0027processing\u0027,\u0027completed\u0027,\u0027failed\u0027,\u0027cancelled\u0027) NOT NULL DEFAULT \u0027pending\u0027,",
" 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;",
"-- Harmonogramy zadań",
"INSERT INTO pp_cron_schedules (job_type, interval_seconds, priority, max_attempts) VALUES",
"(\u0027apilo_token_keepalive\u0027, 240, 10, 3),",
"(\u0027apilo_send_order\u0027, 60, 40, 10),",
"(\u0027apilo_product_sync\u0027, 600, 100, 3),",
"(\u0027apilo_pricelist_sync\u0027, 3600, 100, 3),",
"(\u0027apilo_status_poll\u0027, 600, 100, 3),",
"(\u0027price_history\u0027, 86400, 100, 3),",
"(\u0027order_analysis\u0027, 600, 100, 3),",
"(\u0027trustmate_invitation\u0027, 600, 200, 3),",
"(\u0027google_xml_feed\u0027, 3600, 200, 3);"
],
"date": "2026-02-27",
"directories_deleted": [
]
}