Akış Denetimi komutları
step · runtask · stoptask · pausetask · resumetask · queue · humantask
step Step
Komutları adlandırılmış bir adımda gruplar. Kendisi hiçbir şey yapmaz: içindeki komutlar sırayla çalışır.
Blok komutu: step … endstep.
Parametreler
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--description | metin | Bu adımın ne yaptığı, ör. "Portala giriş yap" |
runtask Run task
Başka bir görevi çağırır. Girişleri --inputName:value, çıkışları --outputNameTo:variable ile eşleyin.
Parametreler
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--name zorunlu | metin | Çağrılacak görev: adı veya birden çok klasörde bu adda görev varsa klasör yolu (Finance/Invoices/Import) |
Örnekler
runtask --name:"ProcessOrder" --orderId:$currentOrder$ --customerName:$name$ --resultTo:taskResult --totalAmountTo:amount
stoptask Stoptask
Çalıştırmayı burada başarıyla bitirir: sonraki komutlar çalışmaz (finally bölümleri yine çalışır) ve çıktılar döndürülür. --name ile bunun yerine başka bir görevin çalışan çalıştırmalarını durdurur.
Parametreler
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--message | metin | Çalıştırmanın neden durduğu; günlüğe yazılır | |
--scope | şunlardan biri: run, task | run | run: bu görevi çağıran görevler dahil tüm çalıştırma. task: yalnızca bu görev; çağrılan bir görev çağırana döner |
--name | metin | Durdurulacak başka bir görev: herhangi bir ajanda bekleyen veya çalışan tüm çalıştırmaları (adı veya birden fazla klasörde varsa klasör yolu) | |
--output | değişken adı | --name ile: kaç çalıştırmanın durdurulduğunu alan değişken |
Örnekler
stoptask --message:"No orders today" # ends the run, Completed (finally runs, catch does not see it)
stoptask --scope:task # ends only this task: a called task returns to its caller
pausetask --message:"Check the invoice" --timeout:600
stoptask --name:"Finance/Import" --output:stopped
pausetask --name:Export
resumetask --name:Export
pausetask Pausetask
Çalıştırmayı biri devam ettirene kadar duraklatır: ajan makinesindeki ilerleme penceresinde Run, web uygulamasında çalıştırmanın sayfasında Resume veya resumetask. --name ile bunun yerine başka bir görevin çalışan çalıştırmalarını duraklatır.
Parametreler
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--message | metin | Çalıştırma beklerken gösterilir, ör. "Check the invoice, then press Run" | |
--timeout | sayı | 0 | Çalıştırmanın kendiliğinden devam edeceği saniye; 0 devam ettirilene kadar bekler |
--name | metin | Duraklatılacak başka bir görev: herhangi bir ajanda çalışan tüm çalıştırmaları (resumetask ile veya web uygulamasından devam ettirin) | |
--output | değişken adı | --name ile: kaç çalıştırmanın duraklatıldığını alan değişken |
resumetask Resumetask
Başka bir görevin duraklatılmış çalıştırmalarını devam ettirir (pausetask ile, ilerleme penceresinde veya web uygulamasında duraklatılanlar).
Parametreler
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--name zorunlu | metin | Devam ettirilecek görev: adı veya birden fazla klasörde varsa klasör yolu | |
--output | değişken adı | Kaç çalıştırmanın devam ettirildiğini alan değişken |
queue Queue
İş kuyrukları: bir görevin eklediği ve diğerlerinin yeniden denemelerle tek tek işlediği öğeler (faturalar, siparişler…). Kuyruklar Queues sayfasında oluşturulur.
İşlemler (--action)
--action:add
Bir iş öğesi ekler; --output öğenin kimliğini alır.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--queue zorunlu | metin | İş kuyruğunun adı (Queues sayfası) | |
--data zorunlu | herhangi bir değer | Öğe: bir kayıt ($invoice$) veya herhangi bir değer | |
--reference | metin | İş anahtarı (fatura numarası…): aynı referansa sahip yeni, işlemde veya tamamlanmış bir öğe varsa tekrar eklenmez | |
--priority | sayı | 0 | Yüksek olan önce çalışır |
--output | değişken adı | Sonucu alan değişken |
--action:next
Sonraki yeni öğeyi alır (en yüksek öncelikli, en eski önce) ve bu çalıştırma için işlemde olarak işaretler; kuyruk boşsa kayıttaki Found false olur.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--queue zorunlu | metin | İş kuyruğunun adı (Queues sayfası) | |
--output zorunlu | değişken adı | Kayıt: Found, Id, Reference, Data, Attempt, Priority |
--action:complete
Bu çalıştırmanın aldığı öğeyi tamamlandı olarak işaretler.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--item zorunlu | $değişken$ | queue --action:next ile alınan iş öğesi veya loop --type:queue döngü değişkeni | |
--result | herhangi bir değer | Öğeyle birlikte saklanan sonuç |
--action:fail
Öğeyi başarısız olarak işaretler. Elle yapıldığında bu kesindir (bir iş kararı); --retry:true ile kuyruğun yeniden deneme hakkı kaldığı sürece öğe kuyruğa geri döner.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--item zorunlu | $değişken$ | queue --action:next ile alınan iş öğesi veya loop --type:queue döngü değişkeni | |
--reason zorunlu | metin | Neden başarısız olduğu, ör. bir catch --error:err içindeki $err.Message$ | |
--retry | true / false | false | true: teknik bir hata, öğeyi daha sonra yeniden dene (kuyruğun yeniden deneme hakları dahilinde) |
--action:count
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--queue zorunlu | metin | İş kuyruğunun adı (Queues sayfası) | |
--status | şunlardan biri: new, inprogress, completed, failed | Boşsa tüm öğeler | |
--output zorunlu | değişken adı | Sonucu alan değişken |
Örnekler
queue --action:add --queue:Invoices --data:$invoice$ --reference:$invoice.No$ --priority:1 --output:itemId
queue --action:next --queue:Invoices --output:item
if --type:boolean --value:$item.Found$ --is:false
log --message:"Nothing to do"
endif
queue --action:complete --item:$item$ --result:$bookingNo$
queue --action:fail --item:$item$ --reason:$err.Message$
queue --action:count --queue:Invoices --status:new --output:pending
humantask Human task
Web uygulamasının Inbox sayfasında bir kişiye sorar: kontrol edilecek, düzeltilecek veya doldurulacak bir form (örneğin ai komutunun okuduğu bir fatura, PDF'inin yanında) ve Approve, Reject gibi düğmeler. Sonuç kaydında alanlar, Outcome (basılan düğme), CompletedBy, CompletedAt, TaskId ve TaskStatus bulunur.
İşlemler (--action)
--action:ask
Görevi oluşturur ve biri tamamlayana kadar bekler; --output sonuç kaydını alır.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--title zorunlu | metin | Kişiden istenen, örn. "Check invoice $invoice.InvoiceNo$" | |
--fields zorunlu | metin | Form: Ad[:tür], virgülle ayrılmış; türler text (varsayılan), multiline, number, date, boolean, choice(A|B|C). Örn. "InvoiceNo, Total:number, Date:date, Status:choice(Open|Closed)" | |
--values | herhangi bir değer | Başlangıç değerleri: bir kayıt ($invoice$) veya {"Total": 120} | |
--required | metin | Doldurulması zorunlu alanlar, virgülle ayrılmış | |
--readonly | metin | Gösterilen ama değiştirilemeyen alanlar, virgülle ayrılmış | |
--outcomes | metin | Done | Düğmeler, virgülle ayrılmış, örn. "Approve, Reject"; basılan düğme $result.Outcome$ olur |
--assignee | metin | Kimler tamamlayabilir: kullanıcı adları ve rol adları, virgülle ayrılmış; boşsa gelen kutusu olan herkes | |
--description | metin | Formun üstünde gösterilen açıklama | |
--file | metin | Ajan makinesinde, formun yanında gösterilen bir dosya: PDF, resim veya metin (10 MB'a kadar) Ajan makinesindeki bir dosya. | |
--timeout | sayı | 0 | Beklenecek dakika; sonra komut hata verir (ask'in görevinin süresi dolar). 0 sınırsız bekler |
--output zorunlu | değişken adı | Kayıt: alanlar, Outcome, CompletedBy, CompletedAt, TaskId, TaskStatus |
--action:create
Görevi oluşturur ve hemen devam eder; --output, daha sonra wait veya get için görevin kimliğini alır.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--title zorunlu | metin | Kişiden istenen, örn. "Check invoice $invoice.InvoiceNo$" | |
--fields zorunlu | metin | Form: Ad[:tür], virgülle ayrılmış; türler text (varsayılan), multiline, number, date, boolean, choice(A|B|C). Örn. "InvoiceNo, Total:number, Date:date, Status:choice(Open|Closed)" | |
--values | herhangi bir değer | Başlangıç değerleri: bir kayıt ($invoice$) veya {"Total": 120} | |
--required | metin | Doldurulması zorunlu alanlar, virgülle ayrılmış | |
--readonly | metin | Gösterilen ama değiştirilemeyen alanlar, virgülle ayrılmış | |
--outcomes | metin | Done | Düğmeler, virgülle ayrılmış, örn. "Approve, Reject"; basılan düğme $result.Outcome$ olur |
--assignee | metin | Kimler tamamlayabilir: kullanıcı adları ve rol adları, virgülle ayrılmış; boşsa gelen kutusu olan herkes | |
--description | metin | Formun üstünde gösterilen açıklama | |
--file | metin | Ajan makinesinde, formun yanında gösterilen bir dosya: PDF, resim veya metin (10 MB'a kadar) Ajan makinesindeki bir dosya. | |
--timeout | sayı | 0 | Görevin süresinin dolacağı dakika; 0: tamamlanana kadar kalır |
--output zorunlu | değişken adı | Sonucu alan değişken |
--action:wait
Görev tamamlanana (veya iptal edilene, süresi dolana) kadar bekler; --output sonuç kaydını alır.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--id zorunlu | sayı | humantask --action:create'in verdiği görev kimliği | |
--timeout | sayı | 0 | Beklenecek dakika; sonra komut hata verir (ask'in görevinin süresi dolar). 0 sınırsız bekler |
--output zorunlu | değişken adı | Kayıt: alanlar, Outcome, CompletedBy, CompletedAt, TaskId, TaskStatus |
--action:get
Görevi beklemeden hemen okur: TaskStatus Open, Completed, Cancelled veya Expired'dır.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--id zorunlu | sayı | humantask --action:create'in verdiği görev kimliği | |
--output zorunlu | değişken adı | Sonucu alan değişken |
--action:cancel
Açık bir görevi Inbox'tan kaldırır.
| Parametre | Değer | Varsayılan | Açıklama |
|---|---|---|---|
--id zorunlu | sayı | humantask --action:create'in verdiği görev kimliği |
Örnekler
humantask --action:ask --title:"Check invoice $invoice.InvoiceNo$" --fields:"InvoiceNo, Total:number, Date:date, Category:choice(Office|Travel|IT)" --values:$invoice$ --readonly:InvoiceNo --required:"Total, Category" --outcomes:"Approve, Reject" --assignee:"User" --file:$pdf$ --timeout:1440 --output:review
humantask --action:create --title:"Confirm the address" --fields:"Street, City, Note:multiline" --output:taskId
humantask --action:wait --id:$taskId$ --timeout:60 --output:answer
humantask --action:get --id:$taskId$ --output:state
humantask --action:cancel --id:$taskId$