Az ütemező: sablonok, példányok, öngyógyítás és jogosultság
Az egyetlen ütemező adatmodellje, a sablon- és példány-sorok viszonya, a támogatott feladattípusok, a mentés és a sor-műveletek szabályai, az öngyógyítás és a tartalmi hatókör.
A rendszernek egyetlen ütemezője van. Az ütemező-sor sablon-sorai (is_template = 1) a MIKOR-t írják le egy cégre, cégcsoportra vagy a rendszerre; a catalog worker (masterdata/cronqueue.run) az esedékes sablonokból példány-sorokat (is_template = 0) szúr és feldolgoz. Az időzítést a közös ütemezés-számoló (perc, óra, nap, hét, hónap; Europe/Budapest) adja.
Adatmodell
A táblanevek a telepítés saját előtagjával állnak az adatbázisban.
| Tábla | Szerep | Fő mezők |
|---|---|---|
cron_queue | sablonok és példányok | job_type, company_id, cégcsoport, is_template, next_run, státusz, payload (pl. email_task_id, check_code) |
cron_health | öngyógyítás nyitott hibái | job-típus, hiba, állapot |
company | célcég | olvasás |
Mentés és sor-műveletek
- A form job-típusai:
taxaccount,missingtaxreturn,email,email_commands,email_ai,taskdigest,taskrecurring,nav_invoice_query,nav_invoice_sync,nav_invoice_data,email_task,integrity_check,content_translate. - Cél: cég, cégcsoport, vagy a rendszer-jobokra (
email*,taskdigest,integrity_check) a rendszer. Paraméteres jobok:email_task(a cég és az időzítés a taskból jön),integrity_check(az ellenőrzés kódja). - Opcionális eredmény-levél (
mail_notify0–2, csatorna és sablon a levelezés modulból a client szerint). - Mentés után a következő futás kiszámítása, a sor visszaolvasása, a levél-beállítás mentése. Példány-sornál csak a
next_runmódosítható. runnow: azonnali példány-sor(ok), csoportnál tagcégenként; a sablonnext_run-ja változatlan.stopselected: sablon → inaktiválás, példány → törlés.delete: fizikai törlés, a levél-modulbeállítás inaktiválása.- Minden művelet a
cronnaplócsatornára ír. enqueueDue(): a futtató-híd publikus metódusa; esedékes sablonokból sorokat szúr és lépteti anext_run-t; jog:edit.
Öngyógyítás
A health végpont ugyanazt futtatja, amit a worker 10 percenként: megszakadt önfenntartó láncok pótlása, 60 percnél régebben futó sorok visszaállítása, elcsúszott e-mail-task ütemezések javítása, árva sablonok és törölt céges sorok takarítása. Jelenti a 3 kísérlet után halott sorokat, a 6 óránál régebben várakozókat és az ismeretlen job-típusokat. Válasz: javított és nyitott tételek száma. A szolgáltatás-könyvtár maga ír SQL-t. A tábla hiánya: error_health_schema.
Hibák
error_job_type, error_target, error_object, error_object_no_company, error_duplicate_template, error_mail_template, error_save_not_created, error_next_run.
Jogosultság
| Kulcs | Besorolás | Végpontok |
|---|---|---|
list | besorolás nélkül | lista, cég-választó |
add | nincs katalógus-sor, ezért az edit dönt | mentés új sorral (canSave) |
edit | nincs a seedekben | form, runnow, enable, disable, levél-opciók |
delete | nincs a seedekben | delete; stop és stopselected delete vagy edit joggal |
statusdelete | BASE | a seed felveszi, de nincs végpontja; működés nem állapítható meg |
health | csak a jogosultsági bemenetben | öngyógyítás |
debug | nincs a seedekben | lista-SQL |
Tartalmi hatókör: a lista a filter_allowed_ids szerint szűr; az írási végpontok idsInScope és scheduleInScope szerint; a rendszer-szintű sort nem fő rendszergazda nem kezelheti.