NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Osem tabuliek, ktoré publikuje workflows:install (tag workflows-migrations, s časovou pečiatkou pri publikovaní; nikdy sa nenačítavajú automaticky). Názvy pochádzajú z workflows.tables.*. Migrácie idú len dopredu. Typy kľúčov sa určia pri migrácii — nastavte ich pred php artisan migrate:

  • id a každý interný kľúčový stĺpec (*_id ukazujúci na tabuľku balíka) sa riadia primary_key_type (bigint s auto-increment alebo časovo zoradený primárny kľúč uuid / ulid).
  • Morph dvojica <name>_type + <name>_id (nullable) drží model aplikácie. Jej stĺpec id sa riadi owner_key_type (owner_*), subject_key_type (subject_*) alebo key_type (publisher_*, starter_*, requester_*).
  • Každý časový údaj sa ukladá v UTC (created_at, updated_at a deleted_at pri tabuľkách s mäkkým mazaním).

workflow_definitions

StĺpecTypPoznámky
idkey—
keystring(100)Jedinečný v rámci vlastníka (wdef_key_unique nad owner_scope, key).
namestring(200)—
descriptiontext, nullable—
owner_type, owner_idmorph, nullableNull = celá aplikácia.
owner_scopestring(191)Vlastník ako jeden reťazec (<morph class>:<key>, * pre celú aplikáciu) pre jedinečný kľúč.
subject_keystring(100), nullableKľúč typu subjektu v registri (nikdy názov triedy).
statusstring(16)DefinitionStatus.
current_version_idkey, nullable, indexedPublikovaná verzia, na ktorej bežia nové inštancie.
webhook_idstring(26), nullable, uniqueId prichádzajúceho webhooku (vytvorí sa pri prvom publikovaní, dá sa obnoviť).
timestamps, deleted_atMäkké mazanie; zmazaná definícia si kľúč stále drží.

workflow_versions

StĺpecTypPoznámky
definition_idkeyFK → definitions, pri mazaní restrict.
numberunsigned intJedinečné v rámci definície (wver_number_unique).
statusstring(16)VersionStatus.
schema_versionstring(32)roundly.workflows.graph/v1
graph / trigger / settingsjsonCelý dokument, konfigurácia uzla spúšťača, nastavenia.
trigger_type / trigger_keystring(16) / string(191), nullableIndexované spolu so status (wver_trigger_idx) pre vyhľadávanie pri emite a webhooku.
actor_modestring(16)ActorMode.
checksumchar(64)Kanonický odtlačok grafu (expectedChecksum, sync, export).
review_flagsjson, nullableOtvorené príznaky na kontrolu zo šablóny.
published_atdatetime, nullablePo nastavení sú graf, spúšťač, aktér, nastavenia, kontrolný súčet a publikujúci zmrazené.
publisher_type, publisher_idmorph, nullableKto publikoval.
schedule_cursor_atdatetime, nullablePosledný spracovaný termín plánu.

workflow_instances

StĺpecTypPoznámky
ulidchar(26), uniqueVerejné id (resources, príkazy, idempotentné kľúče).
definition_id / version_idkeyFK → definitions / versions; verzia sa nikdy nemení.
owner_type, owner_idmorph, nullableVlastník inštancie.
subject_key, subject_type, subject_idstring(100) / morph, nullableKľúč v registri a subjekt.
trigger_type / trigger_key / trigger_payloadstring / json, nullableAko sa spustila.
idempotency_digestchar(64), nullable, indexed—
statusstring(16)InstanceStatus.
current_node_idstring(64), nullable—
steps_countunsigned int, default 0Počíta sa voči limits.max_steps.
depthunsigned tinyint, default 0Vnorenie cez start_workflow.
parent_instance_id, parent_step_run_id, root_instance_idkey, nullableRodič (FK, pri mazaní null) a koreň.
actor_mode, starter_type, starter_idstring(16) / morph, nullableAktér a používateľ, ktorý beh spustil.
failure_code / failure_message / failed_node_idstring(64) / text / string(64), nullableHodnota FailureCode alebo kód hostiteľa; správa sa ukladá pre operátorov.
started_at, ended_atdatetime, nullable—
lock_versionunsigned int, default 0Zvyšuje sa pri každej zmene stavu.

workflow_step_runs

StĺpecTypPoznámky
instance_idkeyFK → instances, pri mazaní cascade.
node_id / node_typestring(64)—
visit / attemptunsigned int / unsigned smallintJedinečné spolu s instance_id, node_id (wstep_attempt_unique).
statusstring(16)StepRunStatus.
idempotency_keystring(100)wf:{instance ulid}:{node id}:{visit}
input / outputjson, nullableVyhodnotená konfigurácia, ktorú handler videl (strop steps_input.max_bytes), a jeho výstup.
resume_signaljson, nullableSignál, ktorým bol pokus naposledy obnovený; opakovanie zlyhaného obnovenia ho prenesie.
outcomestring(32), nullable—
error_code / error_message / error_retryablestring(64) / text / bool, nullable—
claim_token / lease_untilstring(26) / datetime, nullablePrevzatie cez compare-and-set a jeho lease (wstep_lease_idx).
scheduled_for, dispatched_at, started_at, finished_at, probe_pushed_atdatetime, nullableČasy; odoslaný probe, ktorý ešte nikto neprevzal, wake odošle znova.

workflow_waits

StĺpecTypPoznámky
instance_id / step_run_idkeyFK, pri mazaní cascade.
kindstring(16)WaitKind.
due_atdatetime, nullablewwait_due_idx (status, due_at).
event_keystring(191), nullablewwait_event_idx (status, event_key).
match / condition / payloadjson, nullablePárovanie udalosti, podmienka, doručený payload.
outcomestring(32), nullableVýsledok časového limitu.
status, claim_token, claimed_at, fired_atWaitStatus a prevzatie.

workflow_escalations

StĺpecTypPoznámky
instance_id / step_run_idkeyFK, pri mazaní cascade.
levelunsigned smallint1 = prvá.
due_atdatetimewesc_due_idx (status, due_at).
actionsjson—
status, attemptsstring(16) / unsigned smallintEscalationStatus a počet pokusov.
claim_token, claimed_at, fired_at, cancelled_at, error_code, error_message—

workflow_idempotency_keys

StĺpecTypPoznámky
scopestring(16)start alebo effect.
keychar(64)Odtlačok, nikdy pôvodný kľúč; jedinečný spolu so scope (widem_unique).
definition_id / instance_idkey, nullableFK (pri mazaní null / cascade).
resultjson, nullableVýsledok once().
expires_atdatetime, nullable, indexedLen kľúče spúšťačov (idempotency.ttl).
created_atdatetimeBez mäkkého mazania.

workflow_dry_runs

StĺpecTypPoznámky
definition_id / version_idkey / key, nullableFK (pri mazaní cascade / null).
owner_*, subject_*, requester_*morphs, nullable—
input / resultjsonVstup a DryRunResult.
timestamps, deleted_atČistí sa po prune.dry_runs_after.

workflow_instances má aj winst_overlay_idx (version_id, status, current_node_id) pre prehľad behov, winst_rate_idx (definition_id, created_at) pre limit spustení a winst_status_idx (status, updated_at) pre kontrolu zaseknutých behov v doctor.

Doba uchovania

workflows:prune (plánujte denne) natrvalo zmaže ukončené inštancie staršie než prune.instances_after — nikdy nie tú s bežiacim dieťaťom — aj s ich krokmi, čakaniami, eskaláciami a kľúčmi efektov; vypršané kľúče spúšťačov; a záznamy skúšobných behov staršie než prune.dry_runs_after.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.