feat: add comprehensive GitHub workflow and development tools
This commit is contained in:
48
app/.venv/Lib/site-packages/celery/concurrency/__init__.py
Normal file
48
app/.venv/Lib/site-packages/celery/concurrency/__init__.py
Normal file
@@ -0,0 +1,48 @@
|
||||
"""Pool implementation abstract factory, and alias definitions."""
|
||||
import os
|
||||
|
||||
# Import from kombu directly as it's used
|
||||
# early in the import stage, where celery.utils loads
|
||||
# too much (e.g., for eventlet patching)
|
||||
from kombu.utils.imports import symbol_by_name
|
||||
|
||||
__all__ = ('get_implementation', 'get_available_pool_names',)
|
||||
|
||||
ALIASES = {
|
||||
'prefork': 'celery.concurrency.prefork:TaskPool',
|
||||
'eventlet': 'celery.concurrency.eventlet:TaskPool',
|
||||
'gevent': 'celery.concurrency.gevent:TaskPool',
|
||||
'solo': 'celery.concurrency.solo:TaskPool',
|
||||
'processes': 'celery.concurrency.prefork:TaskPool', # XXX compat alias
|
||||
}
|
||||
|
||||
try:
|
||||
import concurrent.futures # noqa
|
||||
except ImportError:
|
||||
pass
|
||||
else:
|
||||
ALIASES['threads'] = 'celery.concurrency.thread:TaskPool'
|
||||
#
|
||||
# Allow for an out-of-tree worker pool implementation. This is used as follows:
|
||||
#
|
||||
# - Set the environment variable CELERY_CUSTOM_WORKER_POOL to the name of
|
||||
# an implementation of :class:`celery.concurrency.base.BasePool` in the
|
||||
# standard Celery format of "package:class".
|
||||
# - Select this pool using '--pool custom'.
|
||||
#
|
||||
try:
|
||||
custom = os.environ.get('CELERY_CUSTOM_WORKER_POOL')
|
||||
except KeyError:
|
||||
pass
|
||||
else:
|
||||
ALIASES['custom'] = custom
|
||||
|
||||
|
||||
def get_implementation(cls):
|
||||
"""Return pool implementation by name."""
|
||||
return symbol_by_name(cls, ALIASES)
|
||||
|
||||
|
||||
def get_available_pool_names():
|
||||
"""Return all available pool type names."""
|
||||
return tuple(ALIASES.keys())
|
||||
Reference in New Issue
Block a user