[Extractor] Make extractor crash resilient
Summary:
Connect to QProcess::finished to detect the exit status. In case the
process has crashed, signal the indexer.
On a crash, restart the process and feed it a smaller batch. If the
crashing batch contains only a single file, mark the file as failed, i.e.
add it to the "failedid" db and remove it from the content indexing db
to avoid further indexing attempts.
CCBUG: 375131
Test Plan:
start balooctl monitor
add a file known to crash the extractor to an indexable path
touch an unproblematic file
-> indexer crashes on first file and continues with the second
Reviewers: Baloo, Frameworks, poboiko, ngraham
Reviewed By: Baloo, ngraham
Subscribers: broulik, apol, kde-frameworks-devel
Tags: Frameworks, Baloo
Differential Revision: https://phabricator.kde.org/D16266