Granular esi scheduling for characters #684
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is the web side of bringing per-character esi update intervals to seat. It builds upon eveseat/eveapi#409 and adds a user interface+automation using squad filter for it.
How it works: Admins can specify "character scheduling rules". They are a squad-style character filter and an associated update interval. For every character, seat checks if they are eligible for a scheduling rule by checking the filter of that rule. From all rules that apply to a character, the rule with the shortest update interval is used. If no rule applies, the old default of 1 hour applies.
Internal changes: This PR refactors the observer side of squads so that the observers can also be used for other kinds of filters, like the character scheduling rules. The available filter rules are moved to a config file.
This PR introduces quite a lot of changes. If it is too difficult to review, it is possible to go through commit by commit and it generally should make more sense.