GreenFeetWorkFlow 0.9.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package GreenFeetWorkFlow --version 0.9.0                
NuGet\Install-Package GreenFeetWorkFlow -Version 0.9.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="GreenFeetWorkFlow" Version="0.9.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add GreenFeetWorkFlow --version 0.9.0                
#r "nuget: GreenFeetWorkFlow, 0.9.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install GreenFeetWorkFlow as a Cake Addin
#addin nuget:?package=GreenFeetWorkFlow&version=0.9.0

// Install GreenFeetWorkFlow as a Cake Tool
#tool nuget:?package=GreenFeetWorkFlow&version=0.9.0                

GreenFeetWorkFlow .Net

This is the main workflow engine implementation.

TODOs

nice to have's

  • create singleton job that monitors the engine activity and add simple performance counters
  • add a delay to worker start so when used in eg a webapi, you can debug the api without greensteps
  • RuntimeData add CRUD step operations
    • done ready task - spawn new task to ensure we perform the operaton in case the tast is rerunning and is long to execute - worst case a direct call would time out waiting
    • fail ready task - spawn new task to ensure we perform the operaton in case the tast is rerunning and is long to execute - worst case a direct call would time out waiting
    • activateWaitingReadyTask
  • AddStepIfNotExist
    • method that first check the db - then inserts..
    • since there can be multiple instances of the engine running, we can still have a race condition, we still need to catch an duplicatekey exception that we need to create and use in the persistence layer.
    • SearchModel needs be extended

documentation

  • Getting started guide
  • how to set up priorities by using multiple instances of the queue - it is better than priority - since it won't starve low priority jobs. - disadvantage - if very few high priority and many lowpriority then use many workers for low priority. If equal amount of low and high priority use many workers in the high priority engine and few workers in the low priority engine. If the numbers fluctuate - use equal amount of workers in each.
  • explain why we dont store the raw type from step state objects. will be serialized eg into System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]] or GreenFeetWorkflow.Tests+BuyInstructions we dont want to rely on corelib in v6 or that we use very specific private classes

tests

  • add test case p� at man aktiverer et eksekverende step - som dermed er skrive-l�st - skal nok anvende en 2s timeout

Performance todo's

  • Add steps to insert using prepared sql and possibly multiple values
  • Hardcode column over GetOrdinal()
  • delay should have a counter in each worker, if some threshold has been reached wait for a longer period - current implementation block performane of e.g few repeating jobs
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on GreenFeetWorkFlow:

Package Downloads
GreenFeetWorkFlow.Formatter.NewtonsoftJson

Package Description

GreenFeetWorkFlow.Ioc.Autofac

Package Description

GreenFeetWorkFlow.AdoMsSql

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.3.2 192 2/4/2024
1.3.1 163 2/1/2024
1.3.0 155 1/31/2024
1.2.0 154 1/30/2024
1.1.0 359 11/1/2023
1.0.0.2 228 10/22/2023
1.0.0.1 369 10/9/2023
1.0.0 220 9/21/2023
0.9.0 227 9/19/2023
0.8.0.4 278 9/1/2023
0.8.0.3 218 9/1/2023
0.8.0.2 259 9/1/2023
0.8.0.1 249 8/31/2023
0.8.0 233 8/30/2023
0.0.0.7 253 8/24/2023
0.0.0.6 229 8/23/2023