@iworkflow /时间
颞для @iworkflow/core。同行: @temporalio/{client,common,worker,workflow,activity} ^ 1.24。
Модуль объявляет, своих зависимостях всепять 对端:даже если <s:2> <e:2>: импортирует не все: сборка
серверас external: ["@temporalio/*"] их не вкладывает, без @temporalio/common подпадает
на старте Cannot find module.
temporalRuntime(workflowsPath, opts?).start(def)—воркер на任务队列def.app;opts.workflowBundlePath- готовый бандл прод-сборки。temporalClient(opts?)- старт, сигнал,查询по id。temporalActivities(activities)- шаги порта для своегоWorker.create(слив старой очереди, тестовый воркер):Failure→ApplicationFailure,работаютheartbeatиstepAttempt。Шаги без неё своём воркереheartbeat/stepAttemptневидят——с0.6.0рантаймшагаставитсянавремяшага。temporalStep(fn)- тест шага без воркера:new MockActivityEnvironment().run(() => temporalStep(() => acts.send(x)));acts- сырые шаги (не результат)temporalActivities), отказ остаётсяFailure;@temporalio/testingставит модуль。@iworkflow/temporal/workflow- только для входа песочницы модуля:export const outreach = temporalFlow(flows.outreach, ["send-twice"])。Сигналы * query - только через порт (handle.signal,handle.query):сырыеимена颞непринимаются,иначемодульнепереедетнаDBOS。
opts (TemporalOptions): address, namespace, tls, apiKey - источник токена, меняется каждые apiKeyRenewMs;
plugins - плагины SDK воркерам * клиенту; temporalClient({ lazy: true }) - соединение при первом вызове。
Без них - переменные TEMPORAL_URL (поумолчанию 127.0.0.1:17233), TEMPORAL_NAMESPACE.