Skip to content

DevelopmentPlan

Quanzheng Long edited this page Nov 22, 2023 · 3 revisions

1.0

  • Cluster mode for AsyncService
  • ListProcessExecutions API
  • StartProcessExecution API
    • Basic
    • ProcessIdReusePolicy
    • Process timeout
    • History/Retention/Cleanup policy
  • Executing wait_until/execute APIs
    • Basic sequential execution
    • Parallel execution of multiple states
    • StateOption: WaitUntil/Execute API timeout and retry policy
    • AsyncState failure policy for recovery
  • StateDecision
    • Single next State
    • Multiple next states
    • Force completing process
    • Graceful completing process
    • Force fail process
    • Dead end
    • Conditional complete process with checking queue emptiness
  • Commands
    • AnyOf waitingType
    • AllOf waitingType
    • TimerCommand
  • LocalQueue
    • LocalQueueCommand
    • MessageId for deduplication
    • SendMessage API without RPC
  • LocalAttribute persistence
    • LoadingPolicy (attribute selection + no locking)
    • InitialUpsert
    • Exclusive+Shared LockingPolicy
  • GlobalAttribute persistence
    • LoadingPolicy (attribute selection + no locking)
    • InitialUpsert
    • Multi-tables
    • Exclusive+Shared LockingPolicy
  • RPC
    • Basic
    • Persistence
    • Communication
  • API error handling for canceled, failed, timeout, terminated
  • StopProcessExecution API
  • WaitForStateCompletion API
  • ResetStateExecution for operation
  • DescribeProcessExecution API
  • WaitForProcessCompletion API
  • More history events for operation/debugging

Future

  • Skip timer API for testing/operation
  • Dynamic attributes and queue definition
  • State options overridden dynamically
  • Consume more than one messages in a single command with FIFO/BestMatch policies
  • WaitingType: AnyCombinationsOf
  • GlobalQueue
  • CronSchedule
  • Batch operation
  • DelayStart
  • Caching (with Redis, etc)
  • Custom Database Query
  • SearchAttribute (with ElasticSearch, etc)
  • ExternalAttribute (with S3, Snowflake, etc)
Clone this wiki locally