mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Make the metadata download worker process explicitly cleanup webengine workers before exiting
This commit is contained in:
parent
058212d47c
commit
148aa948db
@ -1,11 +1,10 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai
|
||||||
# License: GPLv3 Copyright: 2012, Kovid Goyal <kovid at kovidgoyal.net>
|
# License: GPLv3 Copyright: 2012, Kovid Goyal <kovid at kovidgoyal.net>
|
||||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from collections import Counter
|
from collections import Counter
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
|
from functools import wraps
|
||||||
from threading import Event, Thread
|
from threading import Event, Thread
|
||||||
|
|
||||||
from calibre.customize.ui import metadata_plugins
|
from calibre.customize.ui import metadata_plugins
|
||||||
@ -17,8 +16,8 @@ from calibre.ebooks.metadata.sources.identify import identify, msprefs
|
|||||||
from calibre.ebooks.metadata.sources.update import patch_plugins
|
from calibre.ebooks.metadata.sources.update import patch_plugins
|
||||||
from calibre.utils.date import as_utc
|
from calibre.utils.date import as_utc
|
||||||
from calibre.utils.logging import GUILog
|
from calibre.utils.logging import GUILog
|
||||||
from polyglot.queue import Empty, Queue
|
|
||||||
from polyglot.builtins import iteritems
|
from polyglot.builtins import iteritems
|
||||||
|
from polyglot.queue import Empty, Queue
|
||||||
|
|
||||||
|
|
||||||
def merge_result(oldmi, newmi, ensure_fields=None):
|
def merge_result(oldmi, newmi, ensure_fields=None):
|
||||||
@ -51,6 +50,18 @@ def merge_result(oldmi, newmi, ensure_fields=None):
|
|||||||
return newmi
|
return newmi
|
||||||
|
|
||||||
|
|
||||||
|
def shutdown_webengine_workers(func):
|
||||||
|
@wraps(func)
|
||||||
|
def wrapper(*a, **k):
|
||||||
|
from calibre.scraper.simple import cleanup_overseers
|
||||||
|
try:
|
||||||
|
return func(*a, **k)
|
||||||
|
finally:
|
||||||
|
cleanup_overseers()()
|
||||||
|
return wrapper
|
||||||
|
|
||||||
|
|
||||||
|
@shutdown_webengine_workers
|
||||||
def main(do_identify, covers, metadata, ensure_fields, tdir):
|
def main(do_identify, covers, metadata, ensure_fields, tdir):
|
||||||
failed_ids = set()
|
failed_ids = set()
|
||||||
failed_covers = set()
|
failed_covers = set()
|
||||||
@ -101,6 +112,7 @@ def main(do_identify, covers, metadata, ensure_fields, tdir):
|
|||||||
return failed_ids, failed_covers, all_failed
|
return failed_ids, failed_covers, all_failed
|
||||||
|
|
||||||
|
|
||||||
|
@shutdown_webengine_workers
|
||||||
def single_identify(title, authors, identifiers):
|
def single_identify(title, authors, identifiers):
|
||||||
log = GUILog()
|
log = GUILog()
|
||||||
patch_plugins()
|
patch_plugins()
|
||||||
@ -110,6 +122,7 @@ def single_identify(title, authors, identifiers):
|
|||||||
r in results], dump_caches(), log.dump()
|
r in results], dump_caches(), log.dump()
|
||||||
|
|
||||||
|
|
||||||
|
@shutdown_webengine_workers
|
||||||
def single_covers(title, authors, identifiers, caches, tdir):
|
def single_covers(title, authors, identifiers, caches, tdir):
|
||||||
patch_plugins()
|
patch_plugins()
|
||||||
load_caches(caches)
|
load_caches(caches)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user