browsertrix/backend
Ilya Kreymer 5cad9acee9
Compute crawl execution time in operator (#1256)
* store execution time in operator:
- rename isNewCrash -> isNewExit, crashTime -> exitTime
- keep track of exitCode
- add execTime counter, increment when state has a 'finishedAt' and 'startedAt' state
- ensure pods are complete before deleting
- store 'crawlExecSeconds' on crawl and org levels, add to Crawl, CrawlOut, Organization models

* support for fast cancel:
- set redis ':canceled' key to immediately cancel crawl
- delete crawl pods to ensure pod exits immediately
- in finalizer, don't wait for pods to complete when canceling (but still check if terminated)
- add currentTime in pod.status.running.startedAt times for all existing pods
- logging: log exec time, missing finishedAt
- logging: don't log exit code 11 (interrupt due to time/size limits) as a crash

* don't wait for pods completed on failed with existing browsertrix-crawler image

---------
Co-authored-by: Tessa Walsh <tessa@bitarchivist.net>
2023-10-09 17:45:00 -07:00
..
btrixcloud Compute crawl execution time in operator (#1256) 2023-10-09 17:45:00 -07:00
test Require that all passwords are between 8 and 64 characters (#1239) 2023-10-03 18:57:46 -07:00
test_nightly Expect that crawl deleted response is bool, not int (#1170) 2023-09-12 15:03:17 -07:00
.pylintrc
Dockerfile
mypy.ini Improved type checking for backend with mypy (#1174) 2023-09-13 19:40:26 -07:00
requirements.txt