This repository has been archived by the owner on May 3, 2022. It is now read-only.
v1.0.0-beta.2
Pre-release
Pre-release
marco-nicola
released this
15 Nov 22:43
·
5 commits
to main
since this release
Added
- HTTP requests made by the feed-fetcher worker can be limited with the new
request_timeout
setting. - Optimistic locking mechanism for GORM models.
See:models.OptimisticLockModel
,models.OptimisticSave
and
models.ErrStaleObject
.
Changed
- The base GORM model (
models.Model
) now includes aVersion
field and
satisfies themodels.OptimisticLockModel
interface, allowing
optimistic locking. - Each worker has been modified avoiding long-lasting transactions, extracting
from them heavy operations, and opting for optimistic locking when
record updates are involved. Reducing the transactions' duration and removing
the explicit row-level locks can produce tremendous improvements
on the performance of the whole system, when under heavy loads (i.e.
at least thousands of sources). - Give ordering priority to sources never retrieved before (i.e.
last_retrieved_at
is null) when looping through sources to schedule from
feed-scheduler and twitter-scheduler tasks. - Improve
hnswcloent.Client.SearchKNN
performance, making the requests to
each candidate daily HNSW index concurrently. - Minor refactoring and improvements to some log messages and their severity
level. - Upgrade dependencies.