3.2.3 • Published 6 years ago

@autoschedule/queries-scheduler v3.2.3

Weekly downloads
-
License
MIT
Repository
github
Last release
6 years ago

Queries Scheduler

Place queries on a timeline.

Build Status Maintainability Test Coverage code style: prettier semantic-release Commitizen friendly Greenkeeper badge npm version

workflow: queries -> schedule

needs:

  • once material is placed, don't replace it. Causes loops. Temporary query instead. (Current behavior is different: potentials and materials streams are re-compute after each mutation and we check for stability. Cause issue: updatePP isn't accurate. Stick to first strategy)

operations:

  • place potentials with most pressure.
  • When all possible queries are placed and some potentials are left, throw exception. New provider query is pushed (send needer id so provider query can have a direct dependency). Can now be placed thanks to user state potential.
  • Temp Queries: fixes from agent feedback, placeholder, content with transforms.
  • two ways to provide: provider depends on needed task; needed task depends on provider.
  • tasks with zero potential have pressure of -1 instead of +Infinity.
  • task potential = intersection of query potential (internal constraints) + query dependencies + user state potential + materials.
  • impossible to place (material time) => throw exception. (conflict)
  • query that occurs x time before/after state: Link to material that update state -> link field, queries-scheduler module.
  • How to allow link to a material from another agent ? Could be after the second phase, when agent receive queries's context. (Link to an ID)
  • Only one exception is permitted: conflict error that needs user. Others are caught (from userstate) with conflict-resolver
  • providers handle is complex. Use priority list. Can cause side-effect conflict. How to go back to the source of conflict ? How to switch from 1st priority to another ? Simulation with satisfaction threshold for all materials ? heavy cost (recursive and exponential, due to provider sub-dependance to other providers).
  • Agents -> queries ; conflict-resolver (error): query -> agent ; manage agents as a stream

when the stream complete without error, it should be the final timeline.

schedule (tasks (materials)):

  • tasks (potentials)

tasks (potentials):

  • queries
  • tasks (potentials)
  • tasks (materials)
  • user state (potentials)
  • user state (materials)

tasks with needs:

  • tasks (materials)
  • agent service

Stream: 1. agent queries 2. user interaction 3. 1, 2 queries 4. 3, 5 queries with temp 5. 4, 5, 7 tasks (potential) - use user-state function on tasks (potential & material) 7. 5 tasks (material) 9. 7 needs and fixes, placeholder fill or validate

a. Catch errors from 7 => generate new queries at 1.

Module: 1 queries-fn 2, 3 main app 4, 5, 7 queries-scheduler userstate-manager a conflic-resolver b agent-relay

Module a: if provider is impossible to place, either there is no need for it, or there is a conflict. Use user-state to determine. userstate-manager: query + (potential/material) with needs + config + base needs => ranges of possibilities

Queries restrictions:

  • provider (insert/update with 'wait: true' can't specify start/end) -> will prevent correct material placement order.
3.2.3

6 years ago

3.2.2

6 years ago

3.2.1

6 years ago

3.2.0

6 years ago

3.1.5

6 years ago

3.1.4

6 years ago

3.1.3

6 years ago

3.1.2

6 years ago

3.1.1

6 years ago

3.1.0

6 years ago

3.0.1

6 years ago

3.0.0

6 years ago

2.3.0

6 years ago

2.2.0

6 years ago

2.1.0

6 years ago

2.0.0

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago