Dokumentum-, mentés-, AI- és frissítés-háttérfeladatok – működés
A szövegkinyerés, csomag-kibontás, felismerés, Drive-szinkron, tartalomfordítás, AI-munkafolyamat, iPhone-mentés és frissítés feladat-típusainak lépései, keretei és táblái.
Feladat-típusok
| Típus | Működés | Táblák |
|---|---|---|
doc_text (payload doc_id; a dokumentum-modell queueTextExtract()-je teszi sorba) | getDocRow(), oszlop-guard (hasTextColumns), dlbtdocstore->textOf($doc) (local, Drive, OneDrive; nem csak PDF), mentés saveExtractedText() (1 = kinyerve) | doc |
doc_zip_unpack (feltöltés vagy a ZIP-dokumentum sor-akciója teszi sorba) | központi, leállítható haladás a job táblában; Drive-on lévő csomagnál letöltés a storage/ alatti átmeneti mappába (max. 300 MB csomagonként, összesen 1 GB keret; telítettségnél 10 perc múlva újra); feltöltéskori kibontás csak tisztán PDF-csomagra, különben a ZIP egy dokumentum; a sor-akciós kibontás mappastruktúra szerint bont; bejegyzésenként memóriából dlbtdocstore->addDocument(), 40 mp-es körökben folytatás-sorral; végén a Drive-csomag törlése, értesítés vagy e-mail az indítónak, doc_recognise sorba állítása | doc, job, notification |
doc_recognise (cégenként) | az admin dokumentum- és számla-modellekkel a cég felismerési sorából (getRecogQueue) kötegenként dlbtrecognise->run(); eredmény setRecogResult() és felismerési napló (számlához kötve, nem számla, sikertelen); csoportos futásnál haladás és záró értesítés vagy e-mail; maradék → folytatás-sor | doc, számla-táblák |
doc_drive_sync | a client aktív Drive-os tárhely-szabályainak mappái (getActiveDriveObjStorages), 45 mp futásonként, mappánként max. 10 lap × 200 elem, max. 15 mélység; a még nem rögzített fájlokból dokumentum-rekord; az új PDF-ek cégenként egy doc_recognise feladatba; haladás és jelentés az indítónak | doc |
content_translate (esemény-vezérelt, saját folytatás-sorral) | a masterdata/translate modell: AI-beállítás (alap Gemini gemini-2.5-flash), API-kulcs a modul-beállításból (hiánya hiba, sor nem íródik); futásonként max. 12 sor vagy 45 mp; a forrás-nyelvről másolt nyelvi sorok fordítása llmclient->chat()-tel (HTML, linkek, számok változatlanul); teljes JSON-válasz kell, különben hiba; jelölés translated vagy unchanged; maradéknál +60 mp-re új sor | content_translation, aiconfig, a weboldal-téma fordítandó táblái |
gpt_workflow (payload run_id) | a munkafolyamat-vezérlő processForCronqueue()-ja: dlbtgpt->tick(40, run_id); aktív futásnál újra sorba teszi. Párhuzamos worker-slot belépő is van (slot 1–16, 10–600 mp, slot-lock 15 perc, cron-titokkal), amelyet a cron/gptworker alapkeretrendszer-cron indít (alap 3, max. 8 slot), előtte ensureQueued() | a munkafolyamat-library táblái |
iphone_backup_stream, _extract, _index, _publish, _delete, _archive_purge (payload op, backup_id, from_index, opcionálisan scope) | task/iphonebackup::processForCronqueue() állapotgépe op szerint: stream, zipindex, manifest, streampublish, extract, index, publish, messages, attachments, vcards, contacts, calendar, device, callhistory, geo, fájl-adatkörök, delete, purge. Minden kör időkeretre dolgozik és checkpointol; a folytatást új sor viszi; az adatkörök sorosítva; a worker lánc-őre a megszakadt láncot folytatja | backup, backup_file, backup_message, backup_message_attachment, backup_contact, backup_record, backup_scope_run, doc, doc_link, person, person_object, phonenumber, upload_session |
update_check (globális, a beállított óránkénti intervallum szórással) | dlbtupdate->cronCheck(): verzió, központi kérések, jogosult automatikus frissítés indítása; ha futás indult, update_apply azonnal sorba | update_config stb. |
update_apply (csak az update_check vagy önmaga teszi sorba) | dlbtupdate->cronApply(35); amíg dolgozik, percenként, jóváhagyásra vagy időablakra várva 15 percenként folytatódik; done, failed, cancelled, rolled_back, verify_pending állapotnál megáll; karbantartási módban a worker csak ezt futtatja | mint fent |