mirror of
https://github.com/meeb/tubesync.git
synced 2025-06-25 06:26:37 +00:00
Merge 40489a2bf2
into f5a71592fc
This commit is contained in:
commit
d9b5529801
@ -1,3 +1,4 @@
|
|||||||
|
import os
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
|
|
||||||
@ -25,13 +26,21 @@ def h_q_tuple(q, /):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def sqlite_tasks(key, /, prefix=None):
|
def sqlite_tasks(key, /, prefix=None, thread=None, workers=None):
|
||||||
name_fmt = 'huey_{}'
|
name_fmt = 'huey_{}'
|
||||||
if prefix is None:
|
|
||||||
prefix = ''
|
|
||||||
if prefix:
|
if prefix:
|
||||||
name_fmt = f'huey_{prefix}_' + '{}'
|
name_fmt = f'huey_{prefix}_' + '{}'
|
||||||
name = name_fmt.format(key)
|
name = name_fmt.format(key)
|
||||||
|
thread = thread is True
|
||||||
|
try:
|
||||||
|
workers = int(workers)
|
||||||
|
except TypeError:
|
||||||
|
workers = 2
|
||||||
|
finally:
|
||||||
|
if 0 >= workers:
|
||||||
|
workers = os.cpu_count()
|
||||||
|
elif 1 == workers:
|
||||||
|
thread = False
|
||||||
return dict(
|
return dict(
|
||||||
huey_class='huey.SqliteHuey',
|
huey_class='huey.SqliteHuey',
|
||||||
name=name,
|
name=name,
|
||||||
@ -46,8 +55,8 @@ def sqlite_tasks(key, /, prefix=None):
|
|||||||
strict_fifo=True,
|
strict_fifo=True,
|
||||||
),
|
),
|
||||||
consumer=dict(
|
consumer=dict(
|
||||||
workers=1,
|
workers=workers if thread else 1,
|
||||||
worker_type='process',
|
worker_type='thread' if thread else 'process',
|
||||||
max_delay=20.0,
|
max_delay=20.0,
|
||||||
flush_locks=True,
|
flush_locks=True,
|
||||||
scheduler_interval=10,
|
scheduler_interval=10,
|
||||||
|
@ -52,10 +52,10 @@ FORCE_SCRIPT_NAME = None
|
|||||||
DJANGO_HUEY = {
|
DJANGO_HUEY = {
|
||||||
'default': 'network',
|
'default': 'network',
|
||||||
'queues': {
|
'queues': {
|
||||||
'database': sqlite_tasks('database'),
|
'database': sqlite_tasks('database', thread=True),
|
||||||
'filesystem': sqlite_tasks('filesystem'),
|
'filesystem': sqlite_tasks('filesystem', thread=True),
|
||||||
'limited': sqlite_tasks('limited', prefix='net'),
|
'limited': sqlite_tasks('limited', prefix='net', workers=1),
|
||||||
'network': sqlite_tasks('network'),
|
'network': sqlite_tasks('network', thread=True, workers=0),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
for django_huey_queue in DJANGO_HUEY['queues'].values():
|
for django_huey_queue in DJANGO_HUEY['queues'].values():
|
||||||
|
Loading…
Reference in New Issue
Block a user