Przejdź do treści

KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ

KRETS-A02-AsyncStreamsEvents — Zadania, strumienie i zdarzenia [2.0]

KRETS-A02-AsyncStreamsEvents — Zadania, strumienie i zdarzenia [2.0]

🇬🇧 English version below.
PoleWartość
TechnologiaKretS
PoziomADVANCED
KlasyfikacjaRUNNABLE_LOCAL — Uruchamialny lokalnie (SDK, izolowany proces pluginu)
PlaygroundLOCAL_EXECUTE — lokalnie: wykonanie w KretStudio / SDK (publicznie: tylko statycznie)
SDK1.0.0-rc.3+kret.local.3 (kandydat lokalny, niepodpisany)
Wynik testuTEST_RESULTS.json, rzeczywisty wynik: EXPECTED_OUTPUT.txt

Co pokazuje

async fn i await (zadania współbieżne, nie równoległe), Stream<Int> z buforem i for await, timeout obsłużony w try/catch, deklaracja event, handler on, emit oraz subscribe … with.

Pliki

Plik
Script/Main.krs
host-policy.json
plugin.kretl

Jak uruchomić

Katalog roboczy: katalog tego przykładu. kret oznacza <SDK>\Compiler\kret.exe, kretui-host — <SDK>\UiHost\kretui-host.exe. {DATA} / {OUT} to nowe, puste katalogi poza projektem. Wymagania: REQUIREMENTS.md.

  1. kret check . --json — walidacja
  2. kret run . --policy host-policy.json --data {DATA} — uruchomienie

Oczekiwany wynik

„zadania 50; strumień 30; limit przekroczony”; w dzienniku dwa wpisy handlera i jeden wpis subskrybenta (po unsubscribe subskrybent nie dostaje drugiego zdarzenia).

Najczęstszy błąd

Oczekiwanie równoległości: wszystkie zadania jednej maszyny działają na jednym wątku. Maszyna wykrywa zakleszczenie (wszystkie zadania czekają) i zgłasza błąd.

Źródło i wersja

Zweryfikowany import PUBLIC_CANDIDATE. Identyfikatory źródeł odnoszą się do eksportu i nie dają dostępu do plików serwera.

01_LANGUAGES/KretS/Examples/ADVANCED_AsyncStreamsEvents/README.md
SHA-256 70A34692A034A9C8AC4F2E634AF40D4398179379DBBE176B4EDDF4DEBAFCBA47

Oryginalne źródło jest dwujęzyczne; terminy techniczne i polecenia zachowano.

Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →

Wybierz, co możemy zapamiętać w tej przeglądarce. Możesz zmienić decyzję w każdej chwili.

Polityka prywatności