This commit is contained in:
tcely 2025-06-16 14:03:42 +00:00 committed by GitHub
commit d9b5529801
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 18 additions and 9 deletions

View File

@ -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,

View File

@ -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():