browsertrix/backend/test
Ilya Kreymer 00fb8ac048
Concurrent Crawl Limit (#874)
concurrent crawl limits: (addresses #866)
- support limits on concurrent crawls that can be run within a single org
- change 'waiting' state to 'waiting_org_limit' for concurrent crawl limit and 'waiting_capacity' for capacity-based
limits

orgs:
- add 'maxConcurrentCrawl' to new 'quotas' object on orgs
- add /quotas endpoint for updating quotas object

operator:
- add all crawljobs as related, appear to be returned in creation order
- operator: if concurrent crawl limit set, ensures current job is in the first N set of crawljobs (as provided via 'related' list of crawljob objects) before it can proceed to 'starting', otherwise set to 'waiting_org_limit'
- api: add org /quotas endpoint for configuring quotas
- remove 'new' state, always start with 'starting'
- crawljob: add 'oid' to crawljob spec and label for easier querying
- more stringent state transitions: add allowed_from to set_state()
- ensure state transitions only happened from allowed states, while failed/canceled can happen from any state
- ensure finished and state synched from db if transition not allowed
- add crawl indices by oid and cid

frontend: 
- show different waiting states on frontend: 'Waiting (Crawl Limit) and 'Waiting (At Capacity)'
- add gear icon on orgs admin page
- and initial popup for setting org quotas, showing all properties from org 'quotas' object

tests:
- add concurrent crawl limit nightly tests
- fix state waiting -> waiting_capacity
- ci: add logging of operator output on test failure
2023-05-30 15:38:03 -07:00
..
__init__.py
conftest.py Rework collections to track collections in Crawl (#878) 2023-05-25 15:41:50 -04:00
test_collections.py Sort collection by last updated (modified) (#897) 2023-05-30 14:09:10 -04:00
test_crawl_config_search_values.py Update collections backend API (#759) 2023-04-14 12:17:18 -04:00
test_crawl_config_tags.py Update collections backend API (#759) 2023-04-14 12:17:18 -04:00
test_crawlconfigs.py Optimize workflow statistics updates (#892) 2023-05-26 22:57:08 -07:00
test_filter_sort_results.py Rework collections to track collections in Crawl (#878) 2023-05-25 15:41:50 -04:00
test_invites.py Paginate API list endpoints (#659) 2023-03-06 14:41:25 -05:00
test_login.py
test_org.py Paginate API list endpoints (#659) 2023-03-06 14:41:25 -05:00
test_permissions.py Paginate API list endpoints (#659) 2023-03-06 14:41:25 -05:00
test_run_crawl.py Rework collections to track collections in Crawl (#878) 2023-05-25 15:41:50 -04:00
test_settings.py tests: fixes for crawl cancel + crawl stopped (#864) 2023-05-22 20:17:29 -07:00
test_stop_cancel_crawl.py Concurrent Crawl Limit (#874) 2023-05-30 15:38:03 -07:00
test_users.py Add org role to /users/me-with-orgs (#536) 2023-01-31 16:27:13 -05:00
test_workflow_auto_add_to_collection.py Rework collections to track collections in Crawl (#878) 2023-05-25 15:41:50 -04:00