mirror of
https://github.com/hanzoai/jube-fork.git
synced 2026-10-30 18:33:33 +00:00
Await not generally used and instead the tasks are joined at appropriate points in the flow (having the effect of increasing pressure on the thread pool but improving response times). In anticipation of the Redis project the invoke flow now writes out the latest event alongside distinct key value pairs, which increases storage but reduces the need for a very expensive distinct lookup in background Abstraction Rule value calculations (such a lookup is not even possible in the Redis model). All calls to the PostgresSQL database for caching now implement async methods only. The project should be close to being in a state where an interface can be extracted for all of the Cache repositories, and Redis equivalent to be instantiated as part of a builder process in the Invoke process. Background ThreadStart methods have been removed almost entirely and replaced with Task.Run as given the level of async decoration in the code it was unavoidable, although, should push more IO intensive tasks to the thread pool and overall ensure consistent performance. Removed legacy thread forking of Abstraction Rule processing from Invoke and the Environment Variables. Included a diagram in documentation that describes the flow and removed reference to the old thread forking method. Updated test to allow for parameter control of the number of allowed connections for HTTP to test load. Migration created for CachePayloadLatest table with required indexes. During payload lookup the currently in process event is explicitly excluded from the select given that insertion of in process transaction is one of the first tasks, and the availability of it from the database is inconsistent. The event is added to the transactions otherwise returned.
22 KiB
22 KiB