<h1 dir="auto">Checklist</h1>

<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have verified that the issue exists against the <code class="notranslate">master</code> branch of Celery.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> This has already been asked to the <a href="https://groups.google.com/forum/#!forum/celery-users" rel="nofollow">discussion group</a> first.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have read the relevant section in the<br>
<a href="http://docs.celeryproject.org/en/latest/contributing.html#other-bugs" rel="nofollow">contribution guide</a><br>
on reporting bugs.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/celery/celery/issues?q=is%3Aissue+label%3A%22Issue+Type%3A+Bug+Report%22+-label%3A%22Category%3A+Documentation%22">issues list</a><br>
for similar or identical bug reports.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/celery/celery/pulls?q=is%3Apr+label%3A%22PR+Type%3A+Bugfix%22+-label%3A%22Category%3A+Documentation%22">pull requests list</a><br>
for existing proposed fixes.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/celery/celery/commits/master">commit log</a><br>
to find out if the bug was already fixed in the master branch.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included all related issues and possible duplicate issues<br>
in this issue (If there are none, check this box anyway).</li>
</ul>
<h2 dir="auto">Mandatory Debugging Information</h2>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included the output of <code class="notranslate">celery -A proj report</code> in the issue.<br>
(if you are not able to do this, then at least specify the Celery<br>
version affected).</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have verified that the issue exists against the <code class="notranslate">master</code> branch of Celery.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included the contents of <code class="notranslate">pip freeze</code> in the issue.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included all the versions of all the external dependencies required<br>
to reproduce this bug.</li>
</ul>
<h2 dir="auto">Optional Debugging Information</h2>

<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one Python version<br>
and/or implementation.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one message broker and/or<br>
result backend.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one version of the message<br>
broker and/or result backend.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one operating system.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one workers pool.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue with autoscaling, retries,<br>
ETA/Countdown &amp; rate limits disabled.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue after downgrading<br>
and/or upgrading Celery and its dependencies.</li>
</ul>
<h2 dir="auto">Related Issues and Possible Duplicates</h2>

<h4 dir="auto">Related Issues</h4>
<ul dir="auto">
<li>first mentioned in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="708688136" data-permission-text="Title is private" data-url="https://github.com/celery/celery/issues/6363" data-hovercard-type="issue" data-hovercard-url="/celery/celery/issues/6363/hovercard" href="https://github.com/celery/celery/issues/6363">#6363</a></li>
</ul>
<h4 dir="auto">Possible Duplicates</h4>
<ul dir="auto">
<li>None</li>
</ul>
<h2 dir="auto">Environment &amp; Settings</h2>

<p dir="auto"><strong>Celery version</strong>: 5.0.0 and master(<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/celery/celery/commit/431fffd7f29824cc08d566ed40bf398579979820/hovercard" href="https://github.com/celery/celery/commit/431fffd7f29824cc08d566ed40bf398579979820"><tt>431fffd</tt></a>)</p>

<details>
<summary><b><code class="notranslate">celery report</code> Output:</b></summary>
<p dir="auto">
</p><div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="software -&gt; celery:5.0.0 (singularity) kombu:5.0.2 py:3.8.5
            billiard:3.6.3.0 redis:3.5.3
platform -&gt; system:Linux arch:64bit, ELF
            kernel version:5.8.10-arch1-1 imp:CPython
loader   -&gt; celery.loaders.app.AppLoader
settings -&gt; transport:redis results:redis://:**@mars.het.nue.de.vpn.fahrplandatengarten.de:6379/0

ABSOLUTE_URL_OVERRIDES: {
 }
ADMINS: []
ALLOWED_HOSTS: ['saturn.int.sig.de.labcode.de',
 'fahrplandatengarten.de',
 'www.fahrplandatengarten.de',
 '127.0.0.1',
 '::1']
APPEND_SLASH: True
AUTHENTICATION_BACKENDS: ['django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS: '********'
AUTH_USER_MODEL: 'auth.User'
BASE_DIR: '/home/em0lar/dev/bahn/FahrplanDatenGarten/FahrplanDatenGarten/FahrplanDatenGarten'
CACHES: {
    'default': {   'BACKEND': 'django_redis.cache.RedisCache',
                   'LOCATION': 'redis://:***@mars.het.nue.de.vpn.fahrplandatengarten.de:6379/1',
                   'OPTIONS': {   'CLIENT_CLASS': 'django_redis.client.DefaultClient'}},
    'redis': {   'BACKEND': 'django_redis.cache.RedisCache',
                 'LOCATION': 'redis://:***@mars.het.nue.de.vpn.fahrplandatengarten.de:6379/1',
                 'OPTIONS': {   'CLIENT_CLASS': 'django_redis.client.DefaultClient'}}}
CACHE_MIDDLEWARE_ALIAS: 'default'
CACHE_MIDDLEWARE_KEY_PREFIX: '********'
CACHE_MIDDLEWARE_SECONDS: 600
CELERYCONF_BROKER_URL: 'redis://:********@mars.het.nue.de.vpn.fahrplandatengarten.de:6379/0'
CELERYCONF_RESULT_BACKEND: 'redis://:********@mars.het.nue.de.vpn.fahrplandatengarten.de:6379/0'
CELERYCONF_TASK_IGNORE_RESULT: True
CELERYCONF_TASK_SERIALIZER: 'json'
CELERYCONF_TASK_STORE_ERRORS_EVEN_IF_IGNORED: True
COMPRESS_PRECOMPILERS: [('text/x-scss', 'django_libsass.SassCompiler')]
COMPRESS_ROOT: '/home/em0lar/dev/bahn/FahrplanDatenGarten/FahrplanDatenGarten/FahrplanDatenGarten/static'
CSRF_COOKIE_AGE: 31449600
CSRF_COOKIE_DOMAIN: None
CSRF_COOKIE_HTTPONLY: False
CSRF_COOKIE_NAME: 'csrftoken'
CSRF_COOKIE_PATH: '/'
CSRF_COOKIE_SAMESITE: 'Lax'
CSRF_COOKIE_SECURE: False
CSRF_FAILURE_VIEW: 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME: 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS: []
CSRF_USE_SESSIONS: False
DATABASES: {
    'default': {   'ATOMIC_REQUESTS': False,
                   'AUTOCOMMIT': True,
                   'CONN_MAX_AGE': 120,
                   'ENGINE': 'django.db.backends.postgresql',
                   'HOST': '10.151.4.8',
                   'NAME': 'fdg',
                   'OPTIONS': {},
                   'PASSWORD': '********',
                   'PORT': '5432',
                   'TEST': {   'CHARSET': None,
                               'COLLATION': None,
                               'MIGRATE': True,
                               'MIRROR': None,
                               'NAME': None},
                   'TIME_ZONE': None,
                   'USER': 'fdg'}}
DATABASE_ROUTERS: '********'
DATA_UPLOAD_MAX_MEMORY_SIZE: 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS: 1000
DATETIME_FORMAT: 'N j, Y, P'
DATETIME_INPUT_FORMATS: ['%Y-%m-%d %H:%M:%S',
 '%Y-%m-%d %H:%M:%S.%f',
 '%Y-%m-%d %H:%M',
 '%m/%d/%Y %H:%M:%S',
 '%m/%d/%Y %H:%M:%S.%f',
 '%m/%d/%Y %H:%M',
 '%m/%d/%y %H:%M:%S',
 '%m/%d/%y %H:%M:%S.%f',
 '%m/%d/%y %H:%M']
DATE_FORMAT: 'N j, Y'
DATE_INPUT_FORMATS: ['%Y-%m-%d',
 '%m/%d/%Y',
 '%m/%d/%y',
 '%b %d %Y',
 '%b %d, %Y',
 '%d %b %Y',
 '%d %b, %Y',
 '%B %d %Y',
 '%B %d, %Y',
 '%d %B %Y',
 '%d %B, %Y']
DEBUG: True
DEBUG_PROPAGATE_EXCEPTIONS: False
DECIMAL_SEPARATOR: '.'
DEFAULT_CHARSET: 'utf-8'
DEFAULT_EXCEPTION_REPORTER: 'django.views.debug.ExceptionReporter'
DEFAULT_EXCEPTION_REPORTER_FILTER: 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE: 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL: 'webmaster@localhost'
DEFAULT_HASHING_ALGORITHM: 'sha256'
DEFAULT_INDEX_TABLESPACE: ''
DEFAULT_TABLESPACE: ''
DISALLOWED_USER_AGENTS: []
EMAIL_BACKEND: 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST: 'localhost'
EMAIL_HOST_PASSWORD: '********'
EMAIL_HOST_USER: ''
EMAIL_PORT: 25
EMAIL_SSL_CERTFILE: None
EMAIL_SSL_KEYFILE: '********'
EMAIL_SUBJECT_PREFIX: '[Django] '
EMAIL_TIMEOUT: None
EMAIL_USE_LOCALTIME: False
EMAIL_USE_SSL: False
EMAIL_USE_TLS: False
FILE_UPLOAD_DIRECTORY_PERMISSIONS: None
FILE_UPLOAD_HANDLERS: ['django.core.files.uploadhandler.MemoryFileUploadHandler',
 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE: 2621440
FILE_UPLOAD_PERMISSIONS: 420
FILE_UPLOAD_TEMP_DIR: None
FIRST_DAY_OF_WEEK: 0
FIXTURE_DIRS: []
FORCE_SCRIPT_NAME: None
FORMAT_MODULE_PATH: None
FORM_RENDERER: 'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS: []
INSTALLED_APPS: ['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'core',
 'DBApis',
 'FGRFiller',
 'verspaeti',
 'gtfs',
 'netzkarte']
INTERNAL_IPS: []
LANGUAGES: [
 ('de', 'German'),
 ('en', 'English'),
 ('en-au', 'Australian English'),
 ('en-gb', 'British English'),]
LANGUAGES_BIDI: ['he', 'ar', 'ar-dz', 'fa', 'ur']
LANGUAGE_CODE: 'de-de'
LANGUAGE_COOKIE_AGE: None
LANGUAGE_COOKIE_DOMAIN: None
LANGUAGE_COOKIE_HTTPONLY: False
LANGUAGE_COOKIE_NAME: 'django_language'
LANGUAGE_COOKIE_PATH: '/'
LANGUAGE_COOKIE_SAMESITE: None
LANGUAGE_COOKIE_SECURE: False
LIBSASS_SOURCE_COMMENTS: False
LOCALE_PATHS: []
LOGGING: {
 }
LOGGING_CONFIG: 'logging.config.dictConfig'
LOGIN_REDIRECT_URL: '/accounts/profile/'
LOGIN_URL: '/accounts/login/'
LOGOUT_REDIRECT_URL: None
MANAGERS: []
MEDIA_ROOT: ''
MEDIA_URL: '/'
MESSAGE_STORAGE: 'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE: ['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']
MIGRATION_MODULES: {
 }
MONTH_DAY_FORMAT: 'F j'
NUMBER_GROUPING: 0
PASSWORD_HASHERS: '********'
PASSWORD_RESET_TIMEOUT: '********'
PASSWORD_RESET_TIMEOUT_DAYS: '********'
PERIODIC_IMPORT_JOURNEYS: ['*', '*/5']
PERIODIC_IMPORT_TIMETABLES: ['*', '*/10']
PREPEND_WWW: False
ROOT_URLCONF: 'FahrplanDatenGarten.urls'
SECRET_KEY: '********'
SECURE_BROWSER_XSS_FILTER: False
SECURE_CONTENT_TYPE_NOSNIFF: True
SECURE_HSTS_INCLUDE_SUBDOMAINS: False
SECURE_HSTS_PRELOAD: False
SECURE_HSTS_SECONDS: 0
SECURE_PROXY_SSL_HEADER: None
SECURE_REDIRECT_EXEMPT: []
SECURE_REFERRER_POLICY: 'same-origin'
SECURE_SSL_HOST: None
SECURE_SSL_REDIRECT: False
SERVER_EMAIL: 'root@localhost'
SESSION_CACHE_ALIAS: 'default'
SESSION_COOKIE_AGE: 1209600
SESSION_COOKIE_DOMAIN: None
SESSION_COOKIE_HTTPONLY: True
SESSION_COOKIE_NAME: 'sessionid'
SESSION_COOKIE_PATH: '/'
SESSION_COOKIE_SAMESITE: 'Lax'
SESSION_COOKIE_SECURE: False
SESSION_ENGINE: 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE: False
SESSION_FILE_PATH: None
SESSION_SAVE_EVERY_REQUEST: False
SESSION_SERIALIZER: 'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE: 'FahrplanDatenGarten.settings'
SHORT_DATETIME_FORMAT: 'm/d/Y P'
SHORT_DATE_FORMAT: 'm/d/Y'
SIGNING_BACKEND: 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS: []
STATICFILES_DIRS: ['/home/em0lar/dev/bahn/FahrplanDatenGarten/FahrplanDatenGarten/FahrplanDatenGarten/static']
STATICFILES_FINDERS: ['django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE: 'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT: '/var/www/static'
STATIC_URL: '/static/'
TEMPLATES: [{'APP_DIRS': True,
  'BACKEND': 'django.template.backends.django.DjangoTemplates',
  'DIRS': ['FahrplanDatenGarten/templates/'],
  'OPTIONS': {'context_processors': ['django.template.context_processors.debug',
                                     'django.template.context_processors.request',
                                     'django.contrib.auth.context_processors.auth',
                                     'django.contrib.messages.context_processors.messages']}}]
TEST_NON_SERIALIZED_APPS: []
TEST_RUNNER: 'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR: ','
TIME_FORMAT: 'P'
TIME_INPUT_FORMATS: ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE: 'Europe/Berlin'
USE_I18N: True
USE_L10N: True
USE_THOUSAND_SEPARATOR: False
USE_TZ: True
USE_X_FORWARDED_HOST: False
USE_X_FORWARDED_PORT: False
WSGI_APPLICATION: 'FahrplanDatenGarten.wsgi.application'
X_FRAME_OPTIONS: 'DENY'
YEAR_MONTH_FORMAT: 'F Y'
is_overridden: &lt;bound method Settings.is_overridden of &lt;Settings &quot;FahrplanDatenGarten.settings&quot;&gt;&gt;
deprecated_settings: None"><pre class="notranslate"><code class="notranslate">software -&gt; celery:5.0.0 (singularity) kombu:5.0.2 py:3.8.5
            billiard:3.6.3.0 redis:3.5.3
platform -&gt; system:Linux arch:64bit, ELF
            kernel version:5.8.10-arch1-1 imp:CPython
loader   -&gt; celery.loaders.app.AppLoader
settings -&gt; transport:redis results:redis://:**@mars.het.nue.de.vpn.fahrplandatengarten.de:6379/0

ABSOLUTE_URL_OVERRIDES: {
 }
ADMINS: []
ALLOWED_HOSTS: ['saturn.int.sig.de.labcode.de',
 'fahrplandatengarten.de',
 'www.fahrplandatengarten.de',
 '127.0.0.1',
 '::1']
APPEND_SLASH: True
AUTHENTICATION_BACKENDS: ['django.contrib.auth.backends.ModelBackend']
AUTH_PASSWORD_VALIDATORS: '********'
AUTH_USER_MODEL: 'auth.User'
BASE_DIR: '/home/em0lar/dev/bahn/FahrplanDatenGarten/FahrplanDatenGarten/FahrplanDatenGarten'
CACHES: {
    'default': {   'BACKEND': 'django_redis.cache.RedisCache',
                   'LOCATION': 'redis://:***@mars.het.nue.de.vpn.fahrplandatengarten.de:6379/1',
                   'OPTIONS': {   'CLIENT_CLASS': 'django_redis.client.DefaultClient'}},
    'redis': {   'BACKEND': 'django_redis.cache.RedisCache',
                 'LOCATION': 'redis://:***@mars.het.nue.de.vpn.fahrplandatengarten.de:6379/1',
                 'OPTIONS': {   'CLIENT_CLASS': 'django_redis.client.DefaultClient'}}}
CACHE_MIDDLEWARE_ALIAS: 'default'
CACHE_MIDDLEWARE_KEY_PREFIX: '********'
CACHE_MIDDLEWARE_SECONDS: 600
CELERYCONF_BROKER_URL: 'redis://:********@mars.het.nue.de.vpn.fahrplandatengarten.de:6379/0'
CELERYCONF_RESULT_BACKEND: 'redis://:********@mars.het.nue.de.vpn.fahrplandatengarten.de:6379/0'
CELERYCONF_TASK_IGNORE_RESULT: True
CELERYCONF_TASK_SERIALIZER: 'json'
CELERYCONF_TASK_STORE_ERRORS_EVEN_IF_IGNORED: True
COMPRESS_PRECOMPILERS: [('text/x-scss', 'django_libsass.SassCompiler')]
COMPRESS_ROOT: '/home/em0lar/dev/bahn/FahrplanDatenGarten/FahrplanDatenGarten/FahrplanDatenGarten/static'
CSRF_COOKIE_AGE: 31449600
CSRF_COOKIE_DOMAIN: None
CSRF_COOKIE_HTTPONLY: False
CSRF_COOKIE_NAME: 'csrftoken'
CSRF_COOKIE_PATH: '/'
CSRF_COOKIE_SAMESITE: 'Lax'
CSRF_COOKIE_SECURE: False
CSRF_FAILURE_VIEW: 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME: 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS: []
CSRF_USE_SESSIONS: False
DATABASES: {
    'default': {   'ATOMIC_REQUESTS': False,
                   'AUTOCOMMIT': True,
                   'CONN_MAX_AGE': 120,
                   'ENGINE': 'django.db.backends.postgresql',
                   'HOST': '10.151.4.8',
                   'NAME': 'fdg',
                   'OPTIONS': {},
                   'PASSWORD': '********',
                   'PORT': '5432',
                   'TEST': {   'CHARSET': None,
                               'COLLATION': None,
                               'MIGRATE': True,
                               'MIRROR': None,
                               'NAME': None},
                   'TIME_ZONE': None,
                   'USER': 'fdg'}}
DATABASE_ROUTERS: '********'
DATA_UPLOAD_MAX_MEMORY_SIZE: 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS: 1000
DATETIME_FORMAT: 'N j, Y, P'
DATETIME_INPUT_FORMATS: ['%Y-%m-%d %H:%M:%S',
 '%Y-%m-%d %H:%M:%S.%f',
 '%Y-%m-%d %H:%M',
 '%m/%d/%Y %H:%M:%S',
 '%m/%d/%Y %H:%M:%S.%f',
 '%m/%d/%Y %H:%M',
 '%m/%d/%y %H:%M:%S',
 '%m/%d/%y %H:%M:%S.%f',
 '%m/%d/%y %H:%M']
DATE_FORMAT: 'N j, Y'
DATE_INPUT_FORMATS: ['%Y-%m-%d',
 '%m/%d/%Y',
 '%m/%d/%y',
 '%b %d %Y',
 '%b %d, %Y',
 '%d %b %Y',
 '%d %b, %Y',
 '%B %d %Y',
 '%B %d, %Y',
 '%d %B %Y',
 '%d %B, %Y']
DEBUG: True
DEBUG_PROPAGATE_EXCEPTIONS: False
DECIMAL_SEPARATOR: '.'
DEFAULT_CHARSET: 'utf-8'
DEFAULT_EXCEPTION_REPORTER: 'django.views.debug.ExceptionReporter'
DEFAULT_EXCEPTION_REPORTER_FILTER: 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE: 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL: 'webmaster@localhost'
DEFAULT_HASHING_ALGORITHM: 'sha256'
DEFAULT_INDEX_TABLESPACE: ''
DEFAULT_TABLESPACE: ''
DISALLOWED_USER_AGENTS: []
EMAIL_BACKEND: 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST: 'localhost'
EMAIL_HOST_PASSWORD: '********'
EMAIL_HOST_USER: ''
EMAIL_PORT: 25
EMAIL_SSL_CERTFILE: None
EMAIL_SSL_KEYFILE: '********'
EMAIL_SUBJECT_PREFIX: '[Django] '
EMAIL_TIMEOUT: None
EMAIL_USE_LOCALTIME: False
EMAIL_USE_SSL: False
EMAIL_USE_TLS: False
FILE_UPLOAD_DIRECTORY_PERMISSIONS: None
FILE_UPLOAD_HANDLERS: ['django.core.files.uploadhandler.MemoryFileUploadHandler',
 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE: 2621440
FILE_UPLOAD_PERMISSIONS: 420
FILE_UPLOAD_TEMP_DIR: None
FIRST_DAY_OF_WEEK: 0
FIXTURE_DIRS: []
FORCE_SCRIPT_NAME: None
FORMAT_MODULE_PATH: None
FORM_RENDERER: 'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS: []
INSTALLED_APPS: ['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'core',
 'DBApis',
 'FGRFiller',
 'verspaeti',
 'gtfs',
 'netzkarte']
INTERNAL_IPS: []
LANGUAGES: [
 ('de', 'German'),
 ('en', 'English'),
 ('en-au', 'Australian English'),
 ('en-gb', 'British English'),]
LANGUAGES_BIDI: ['he', 'ar', 'ar-dz', 'fa', 'ur']
LANGUAGE_CODE: 'de-de'
LANGUAGE_COOKIE_AGE: None
LANGUAGE_COOKIE_DOMAIN: None
LANGUAGE_COOKIE_HTTPONLY: False
LANGUAGE_COOKIE_NAME: 'django_language'
LANGUAGE_COOKIE_PATH: '/'
LANGUAGE_COOKIE_SAMESITE: None
LANGUAGE_COOKIE_SECURE: False
LIBSASS_SOURCE_COMMENTS: False
LOCALE_PATHS: []
LOGGING: {
 }
LOGGING_CONFIG: 'logging.config.dictConfig'
LOGIN_REDIRECT_URL: '/accounts/profile/'
LOGIN_URL: '/accounts/login/'
LOGOUT_REDIRECT_URL: None
MANAGERS: []
MEDIA_ROOT: ''
MEDIA_URL: '/'
MESSAGE_STORAGE: 'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE: ['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']
MIGRATION_MODULES: {
 }
MONTH_DAY_FORMAT: 'F j'
NUMBER_GROUPING: 0
PASSWORD_HASHERS: '********'
PASSWORD_RESET_TIMEOUT: '********'
PASSWORD_RESET_TIMEOUT_DAYS: '********'
PERIODIC_IMPORT_JOURNEYS: ['*', '*/5']
PERIODIC_IMPORT_TIMETABLES: ['*', '*/10']
PREPEND_WWW: False
ROOT_URLCONF: 'FahrplanDatenGarten.urls'
SECRET_KEY: '********'
SECURE_BROWSER_XSS_FILTER: False
SECURE_CONTENT_TYPE_NOSNIFF: True
SECURE_HSTS_INCLUDE_SUBDOMAINS: False
SECURE_HSTS_PRELOAD: False
SECURE_HSTS_SECONDS: 0
SECURE_PROXY_SSL_HEADER: None
SECURE_REDIRECT_EXEMPT: []
SECURE_REFERRER_POLICY: 'same-origin'
SECURE_SSL_HOST: None
SECURE_SSL_REDIRECT: False
SERVER_EMAIL: 'root@localhost'
SESSION_CACHE_ALIAS: 'default'
SESSION_COOKIE_AGE: 1209600
SESSION_COOKIE_DOMAIN: None
SESSION_COOKIE_HTTPONLY: True
SESSION_COOKIE_NAME: 'sessionid'
SESSION_COOKIE_PATH: '/'
SESSION_COOKIE_SAMESITE: 'Lax'
SESSION_COOKIE_SECURE: False
SESSION_ENGINE: 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE: False
SESSION_FILE_PATH: None
SESSION_SAVE_EVERY_REQUEST: False
SESSION_SERIALIZER: 'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE: 'FahrplanDatenGarten.settings'
SHORT_DATETIME_FORMAT: 'm/d/Y P'
SHORT_DATE_FORMAT: 'm/d/Y'
SIGNING_BACKEND: 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS: []
STATICFILES_DIRS: ['/home/em0lar/dev/bahn/FahrplanDatenGarten/FahrplanDatenGarten/FahrplanDatenGarten/static']
STATICFILES_FINDERS: ['django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE: 'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT: '/var/www/static'
STATIC_URL: '/static/'
TEMPLATES: [{'APP_DIRS': True,
  'BACKEND': 'django.template.backends.django.DjangoTemplates',
  'DIRS': ['FahrplanDatenGarten/templates/'],
  'OPTIONS': {'context_processors': ['django.template.context_processors.debug',
                                     'django.template.context_processors.request',
                                     'django.contrib.auth.context_processors.auth',
                                     'django.contrib.messages.context_processors.messages']}}]
TEST_NON_SERIALIZED_APPS: []
TEST_RUNNER: 'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR: ','
TIME_FORMAT: 'P'
TIME_INPUT_FORMATS: ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE: 'Europe/Berlin'
USE_I18N: True
USE_L10N: True
USE_THOUSAND_SEPARATOR: False
USE_TZ: True
USE_X_FORWARDED_HOST: False
USE_X_FORWARDED_PORT: False
WSGI_APPLICATION: 'FahrplanDatenGarten.wsgi.application'
X_FRAME_OPTIONS: 'DENY'
YEAR_MONTH_FORMAT: 'F Y'
is_overridden: &lt;bound method Settings.is_overridden of &lt;Settings "FahrplanDatenGarten.settings"&gt;&gt;
deprecated_settings: None
</code></pre></div>
<p dir="auto"></p>
</details>
<h1 dir="auto">Steps to Reproduce</h1>
<h2 dir="auto">Required Dependencies</h2>

<ul dir="auto">
<li><strong>Minimal Python Version</strong>: N/A or Unknown</li>
<li><strong>Minimal Celery Version</strong>: 5.0.0</li>
<li><strong>Minimal Kombu Version</strong>: N/A or Unknown</li>
<li><strong>Minimal Broker Version</strong>: N/A or Unknown</li>
<li><strong>Minimal Result Backend Version</strong>: N/A or Unknown</li>
<li><strong>Minimal OS and/or Kernel Version</strong>: N/A or Unknown</li>
<li><strong>Minimal Broker Client Version</strong>: N/A or Unknown</li>
<li><strong>Minimal Result Backend Client Version</strong>: N/A or Unknown</li>
</ul>
<h3 dir="auto">Python Packages</h3>

<details>
<summary><b><code class="notranslate">pip freeze</code> Output:</b></summary>
<p dir="auto">
</p><div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="amqp==5.0.1
asgiref==3.2.10
billiard==3.6.3.0
celery==5.0.0
certifi==2020.4.5.2
chardet==3.0.4
click==7.1.2
click-didyoumean==0.0.3
click-repl==0.1.6
dj-database-url==0.5.0
Django==3.1.1
django-redis==4.12.1
dparse==0.5.1
entrypoints==0.3
fdfgen==0.16.1
flake8==3.8.3
future==0.18.2
idna==2.9
isort==5.5.3
kombu==5.0.2
lxml==4.5.2
mccabe==0.6.1
packaging==20.4
plotly==4.10.0
prompt-toolkit==3.0.7
psycopg2-binary==2.8.6
pycodestyle==2.6.0
pycryptodome==3.9.8
pyflakes==2.2.0
pyhafas==0.2.0
pyparsing==2.4.7
pytz==2020.1
PyYAML==5.3.1
redis==3.5.3
requests==2.24.0
retrying==1.3.3
safety==1.9.0
six==1.15.0
sqlparse==0.3.1
toml==0.10.1
urllib3==1.25.9
vine==5.0.0
wcwidth==0.2.5"><pre class="notranslate"><code class="notranslate">amqp==5.0.1
asgiref==3.2.10
billiard==3.6.3.0
celery==5.0.0
certifi==2020.4.5.2
chardet==3.0.4
click==7.1.2
click-didyoumean==0.0.3
click-repl==0.1.6
dj-database-url==0.5.0
Django==3.1.1
django-redis==4.12.1
dparse==0.5.1
entrypoints==0.3
fdfgen==0.16.1
flake8==3.8.3
future==0.18.2
idna==2.9
isort==5.5.3
kombu==5.0.2
lxml==4.5.2
mccabe==0.6.1
packaging==20.4
plotly==4.10.0
prompt-toolkit==3.0.7
psycopg2-binary==2.8.6
pycodestyle==2.6.0
pycryptodome==3.9.8
pyflakes==2.2.0
pyhafas==0.2.0
pyparsing==2.4.7
pytz==2020.1
PyYAML==5.3.1
redis==3.5.3
requests==2.24.0
retrying==1.3.3
safety==1.9.0
six==1.15.0
sqlparse==0.3.1
toml==0.10.1
urllib3==1.25.9
vine==5.0.0
wcwidth==0.2.5
</code></pre></div>
<p dir="auto"></p>
</details>
<h3 dir="auto">Other Dependencies</h3>

<details>
<p dir="auto">
N/A
</p>
</details>
<h2 dir="auto">Minimally Reproducible Test Case</h2>

<details>
<p dir="auto">
</p><div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content=""><pre class="notranslate"></pre></div>
<p dir="auto"></p>
</details>
<h1 dir="auto">Expected Behavior</h1>

<p dir="auto">Run multiple workers with the in the multi command supplied app</p>
<h1 dir="auto">Actual Behavior</h1>

<p dir="auto">I ran: <code class="notranslate">celery -A FahrplanDatenGarten multi --verbose start 4  --pidfile="tmp/%n.pid" --logfile="tmp/%n.log"  -c 12</code><br>
the output was the following:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="celery multi v5.0.0 (singularity)
&gt; Starting nodes...
	&gt; celery1@mimas:   /home/em0lar/dev/Jugend_hackt/19/DE/FahrplanDatenGarten/.venv/bin/python3 -m celery worker --detach --pidfile=tmp/celery1.pid --logfile=tmp/celery1.log -c 12 -n celery1@mimas --executable=/home/em0lar/dev/Jugend_hackt/19/DE/FahrplanDatenGarten/.venv/bin/python3
OK
	&gt; celery2@mimas:   /home/em0lar/dev/Jugend_hackt/19/DE/FahrplanDatenGarten/.venv/bin/python3 -m celery worker --detach --pidfile=tmp/celery2.pid --logfile=tmp/celery2.log -c 12 -n celery2@mimas --executable=/home/em0lar/dev/Jugend_hackt/19/DE/FahrplanDatenGarten/.venv/bin/python3
OK
	&gt; celery3@mimas:   /home/em0lar/dev/Jugend_hackt/19/DE/FahrplanDatenGarten/.venv/bin/python3 -m celery worker --detach --pidfile=tmp/celery3.pid --logfile=tmp/celery3.log -c 12 -n celery3@mimas --executable=/home/em0lar/dev/Jugend_hackt/19/DE/FahrplanDatenGarten/.venv/bin/python3
OK
	&gt; celery4@mimas:   /home/em0lar/dev/Jugend_hackt/19/DE/FahrplanDatenGarten/.venv/bin/python3 -m celery worker --detach --pidfile=tmp/celery4.pid --logfile=tmp/celery4.log -c 12 -n celery4@mimas --executable=/home/em0lar/dev/Jugend_hackt/19/DE/FahrplanDatenGarten/.venv/bin/python3
OK"><pre class="notranslate"><code class="notranslate">celery multi v5.0.0 (singularity)
&gt; Starting nodes...
	&gt; celery1@mimas:   /home/em0lar/dev/Jugend_hackt/19/DE/FahrplanDatenGarten/.venv/bin/python3 -m celery worker --detach --pidfile=tmp/celery1.pid --logfile=tmp/celery1.log -c 12 -n celery1@mimas --executable=/home/em0lar/dev/Jugend_hackt/19/DE/FahrplanDatenGarten/.venv/bin/python3
OK
	&gt; celery2@mimas:   /home/em0lar/dev/Jugend_hackt/19/DE/FahrplanDatenGarten/.venv/bin/python3 -m celery worker --detach --pidfile=tmp/celery2.pid --logfile=tmp/celery2.log -c 12 -n celery2@mimas --executable=/home/em0lar/dev/Jugend_hackt/19/DE/FahrplanDatenGarten/.venv/bin/python3
OK
	&gt; celery3@mimas:   /home/em0lar/dev/Jugend_hackt/19/DE/FahrplanDatenGarten/.venv/bin/python3 -m celery worker --detach --pidfile=tmp/celery3.pid --logfile=tmp/celery3.log -c 12 -n celery3@mimas --executable=/home/em0lar/dev/Jugend_hackt/19/DE/FahrplanDatenGarten/.venv/bin/python3
OK
	&gt; celery4@mimas:   /home/em0lar/dev/Jugend_hackt/19/DE/FahrplanDatenGarten/.venv/bin/python3 -m celery worker --detach --pidfile=tmp/celery4.pid --logfile=tmp/celery4.log -c 12 -n celery4@mimas --executable=/home/em0lar/dev/Jugend_hackt/19/DE/FahrplanDatenGarten/.venv/bin/python3
OK
</code></pre></div>
<p dir="auto">In the commands to run the worker the app parameter is missing so the workers are not able to connect to the broker</p>
<h1 dir="auto">Checklist</h1>

<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have verified that the issue exists against the <code class="notranslate">master</code> branch of Celery.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> This has already been asked to the <a href="https://groups.google.com/forum/#!forum/celery-users" rel="nofollow">discussion group</a> first.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have read the relevant section in the<br>
<a href="http://docs.celeryproject.org/en/latest/contributing.html#other-bugs" rel="nofollow">contribution guide</a><br>
on reporting bugs.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/celery/celery/issues?q=is%3Aissue+label%3A%22Issue+Type%3A+Bug+Report%22+-label%3A%22Category%3A+Documentation%22">issues list</a><br>
for similar or identical bug reports.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/celery/celery/pulls?q=is%3Apr+label%3A%22PR+Type%3A+Bugfix%22+-label%3A%22Category%3A+Documentation%22">pull requests list</a><br>
for existing proposed fixes.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/celery/celery/commits/master">commit log</a><br>
to find out if the bug was already fixed in the master branch.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included all related issues and possible duplicate issues<br>
in this issue (If there are none, check this box anyway).</li>
</ul>
<h2 dir="auto">Mandatory Debugging Information</h2>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included the output of <code class="notranslate">celery -A proj report</code> in the issue.<br>
(if you are not able to do this, then at least specify the Celery<br>
version affected).</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have verified that the issue exists against the <code class="notranslate">master</code> branch of Celery.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included the contents of <code class="notranslate">pip freeze</code> in the issue.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included all the versions of all the external dependencies required<br>
to reproduce this bug.</li>
</ul>
<h2 dir="auto">Optional Debugging Information</h2>

<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one Python version<br>
and/or implementation.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one message broker and/or<br>
result backend.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one version of the message<br>
broker and/or result backend.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one operating system.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one workers pool.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue with autoscaling, retries,<br>
ETA/Countdown &amp; rate limits disabled.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue after downgrading<br>
and/or upgrading Celery and its dependencies.</li>
</ul>
<h2 dir="auto">Related Issues and Possible Duplicates</h2>

<h4 dir="auto">Related Issues</h4>
<ul dir="auto">
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="194532272" data-permission-text="Title is private" data-url="https://github.com/celery/celery/issues/3667" data-hovercard-type="issue" data-hovercard-url="/celery/celery/issues/3667/hovercard" href="https://github.com/celery/celery/issues/3667">#3667</a></li>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="826311180" data-permission-text="Title is private" data-url="https://github.com/celery/celery/issues/6672" data-hovercard-type="issue" data-hovercard-url="/celery/celery/issues/6672/hovercard" href="https://github.com/celery/celery/issues/6672">#6672</a></li>
</ul>
<h4 dir="auto">Possible Duplicates</h4>
<ul dir="auto">
<li>None</li>
</ul>
<h2 dir="auto">Environment &amp; Settings</h2>

<p dir="auto"><strong>Celery version</strong>:</p>

<details>
<summary><b><code class="notranslate">celery report</code> Output:</b></summary>
<p dir="auto">
</p><div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="software -&gt; celery:5.1.2 (sun-harmonics) kombu:5.1.0 py:3.8.10
            billiard:3.6.4.0 redis:3.5.3
platform -&gt; system:Linux arch:64bit, ELF
            kernel version:3.10.0-1160.11.1.el7.x86_64 imp:CPython
loader   -&gt; celery.loaders.app.AppLoader
settings -&gt; transport:redis results:redis://localhost:6379/0

broker_url: 'redis://localhost:6379/0'
result_backend: 'redis://localhost:6379/0'
task_serializer: 'pickle'
accept_content: ['pickle']
deprecated_settings: None
worker_concurrency: 1
result_serializer: 'pickle'
event_serializer: 'pickle'
"><pre class="notranslate"><code class="notranslate">software -&gt; celery:5.1.2 (sun-harmonics) kombu:5.1.0 py:3.8.10
            billiard:3.6.4.0 redis:3.5.3
platform -&gt; system:Linux arch:64bit, ELF
            kernel version:3.10.0-1160.11.1.el7.x86_64 imp:CPython
loader   -&gt; celery.loaders.app.AppLoader
settings -&gt; transport:redis results:redis://localhost:6379/0

broker_url: 'redis://localhost:6379/0'
result_backend: 'redis://localhost:6379/0'
task_serializer: 'pickle'
accept_content: ['pickle']
deprecated_settings: None
worker_concurrency: 1
result_serializer: 'pickle'
event_serializer: 'pickle'

</code></pre></div>
<p dir="auto"></p>
</details>
<h1 dir="auto">Steps to Reproduce</h1>
<p dir="auto">The breakage was introduced by <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/celery/celery/commit/40e2212208eafab8192162b241b8e3632ab2665d/hovercard" href="https://github.com/celery/celery/commit/40e2212208eafab8192162b241b8e3632ab2665d"><tt>40e2212</tt></a> first released in Celery v4.4.0 (<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/celery/celery/commit/42a5befd07a94e359e722fd4f3aecc871cf1e31d/hovercard" href="https://github.com/celery/celery/commit/42a5befd07a94e359e722fd4f3aecc871cf1e31d"><tt>42a5bef</tt></a> works).</p>
<p dir="auto">Prior to <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/celery/celery/commit/40e2212208eafab8192162b241b8e3632ab2665d/hovercard" href="https://github.com/celery/celery/commit/40e2212208eafab8192162b241b8e3632ab2665d"><tt>40e2212</tt></a>, the result of active() had <code class="notranslate">kwargs</code> and <code class="notranslate">args</code> as strings and therefore never required deserialization:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="{'celery@worker1': [{'id': 'f12b987c-a711-4a8f-8d3c-532e922ebeea', 'name': 'celery_revoke_retry.sleep', 'args': '()', 'kwargs': &quot;{'sleep_arg': &lt;__main__.SleepArg object at 0x7fec3c059e80&gt;}&quot;, 'type': 'celery_revoke_retry.sleep', 'hostname': 'celery@worker1', 'time_start': 1625674850.914238, 'acknowledged': True, 'delivery_info': {'exchange': '', 'routing_key': 'celery', 'priority': 0, 'redelivered': None}, 'worker_pid': 29697}]}"><pre class="notranslate"><code class="notranslate">{'celery@worker1': [{'id': 'f12b987c-a711-4a8f-8d3c-532e922ebeea', 'name': 'celery_revoke_retry.sleep', 'args': '()', 'kwargs': "{'sleep_arg': &lt;__main__.SleepArg object at 0x7fec3c059e80&gt;}", 'type': 'celery_revoke_retry.sleep', 'hostname': 'celery@worker1', 'time_start': 1625674850.914238, 'acknowledged': True, 'delivery_info': {'exchange': '', 'routing_key': 'celery', 'priority': 0, 'redelivered': None}, 'worker_pid': 29697}]}
</code></pre></div>
<p dir="auto"><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/celery/celery/commit/40e2212208eafab8192162b241b8e3632ab2665d/hovercard" href="https://github.com/celery/celery/commit/40e2212208eafab8192162b241b8e3632ab2665d"><tt>40e2212</tt></a> requires clients to be able to deserialize task arguments. This re-introduces bug <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="194532272" data-permission-text="Title is private" data-url="https://github.com/celery/celery/issues/3667" data-hovercard-type="issue" data-hovercard-url="/celery/celery/issues/3667/hovercard" href="https://github.com/celery/celery/issues/3667">#3667</a> and makes the<br>
comment of app.control.active no longer accurate:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="	no objects will need serialization now that we have argsrepr/kwargsrepr."><pre class="notranslate"><code class="notranslate">	no objects will need serialization now that we have argsrepr/kwargsrepr.
</code></pre></div>
<p dir="auto">The fix for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="194532272" data-permission-text="Title is private" data-url="https://github.com/celery/celery/issues/3667" data-hovercard-type="issue" data-hovercard-url="/celery/celery/issues/3667/hovercard" href="https://github.com/celery/celery/issues/3667">#3667</a> specifically states it's required for the payload to be JSON serializable (i.e. not require deserializing pickled task arguments):</p>
<p dir="auto"><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/smartlane/celery/commit/cbe89437fda38ee1a98376d694d9d3028e683b50/hovercard" href="https://github.com/smartlane/celery/commit/cbe89437fda38ee1a98376d694d9d3028e683b50">smartlane@<tt>cbe8943</tt></a>.</p>
<p dir="auto">A reasonable fix would be to add back support for the <code class="notranslate">safe</code> argument to <code class="notranslate">active()</code> to make the v4.3.1 behaviour possible again.</p>
<p dir="auto">Currently (~v5.1.0), querying active tasks when some argument can't be deserialized causes <code class="notranslate">active()</code> to throw kombu.exceptions.DecodeError.</p>
<h2 dir="auto">Required Dependencies</h2>

<ul dir="auto">
<li><strong>Minimal Celery Version</strong>: 4.4.0</li>
</ul>
<h2 dir="auto">Minimally Reproducible Test Case</h2>

<details>
<p dir="auto">
</p><p dir="auto">Query app.control.inspect().active() from a context that cannot deserialize an active task's argument (SleepArg in the example below).</p>
<p dir="auto">This program creates the task and sleeps:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import threading
import time
from celery import Celery

app = Celery('celery_example', broker='redis://localhost:6379/0', backend='redis://localhost:6379/0')
app.conf.update(
    worker_concurrency=1,
    task_serializer = 'pickle',
    accept_content = ['pickle'],
    result_serializer = 'pickle',
)

class SleepArg:
    def __init__(self, sleep_time) -&gt; None:
        self.sleep_time = sleep_time

@app.task
def sleep(sleep_arg: SleepArg):
    print(&quot;running sleep&quot;)
    time.sleep(sleep_arg.sleep_time)

def main():
    argv1 = ['--app=celery_example', 'worker', '--loglevel=DEBUG', '--hostname', 'worker1']
    threading.Thread(target=app.worker_main, args=(argv1,)).start()
    time.sleep(5)
    print('Celery Worker1 should be up now')

    sleep.s(sleep_arg=SleepArg(60)).apply_async().get(disable_sync_subtasks=False)

if __name__ == '__main__':
    main()"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-s1">threading</span>
<span class="pl-k">import</span> <span class="pl-s1">time</span>
<span class="pl-k">from</span> <span class="pl-s1">celery</span> <span class="pl-k">import</span> <span class="pl-v">Celery</span>

<span class="pl-s1">app</span> <span class="pl-c1">=</span> <span class="pl-v">Celery</span>(<span class="pl-s">'celery_example'</span>, <span class="pl-s1">broker</span><span class="pl-c1">=</span><span class="pl-s">'redis://localhost:6379/0'</span>, <span class="pl-s1">backend</span><span class="pl-c1">=</span><span class="pl-s">'redis://localhost:6379/0'</span>)
<span class="pl-s1">app</span>.<span class="pl-s1">conf</span>.<span class="pl-en">update</span>(
    <span class="pl-s1">worker_concurrency</span><span class="pl-c1">=</span><span class="pl-c1">1</span>,
    <span class="pl-s1">task_serializer</span> <span class="pl-c1">=</span> <span class="pl-s">'pickle'</span>,
    <span class="pl-s1">accept_content</span> <span class="pl-c1">=</span> [<span class="pl-s">'pickle'</span>],
    <span class="pl-s1">result_serializer</span> <span class="pl-c1">=</span> <span class="pl-s">'pickle'</span>,
)

<span class="pl-k">class</span> <span class="pl-v">SleepArg</span>:
    <span class="pl-k">def</span> <span class="pl-en">__init__</span>(<span class="pl-s1">self</span>, <span class="pl-s1">sleep_time</span>) <span class="pl-c1">-&gt;</span> <span class="pl-c1">None</span>:
        <span class="pl-s1">self</span>.<span class="pl-s1">sleep_time</span> <span class="pl-c1">=</span> <span class="pl-s1">sleep_time</span>

<span class="pl-en">@<span class="pl-s1">app</span>.<span class="pl-s1">task</span></span>
<span class="pl-k">def</span> <span class="pl-en">sleep</span>(<span class="pl-s1">sleep_arg</span>: <span class="pl-v">SleepArg</span>):
    <span class="pl-en">print</span>(<span class="pl-s">"running sleep"</span>)
    <span class="pl-s1">time</span>.<span class="pl-en">sleep</span>(<span class="pl-s1">sleep_arg</span>.<span class="pl-s1">sleep_time</span>)

<span class="pl-k">def</span> <span class="pl-en">main</span>():
    <span class="pl-s1">argv1</span> <span class="pl-c1">=</span> [<span class="pl-s">'--app=celery_example'</span>, <span class="pl-s">'worker'</span>, <span class="pl-s">'--loglevel=DEBUG'</span>, <span class="pl-s">'--hostname'</span>, <span class="pl-s">'worker1'</span>]
    <span class="pl-s1">threading</span>.<span class="pl-v">Thread</span>(<span class="pl-s1">target</span><span class="pl-c1">=</span><span class="pl-s1">app</span>.<span class="pl-s1">worker_main</span>, <span class="pl-s1">args</span><span class="pl-c1">=</span>(<span class="pl-s1">argv1</span>,)).<span class="pl-en">start</span>()
    <span class="pl-s1">time</span>.<span class="pl-en">sleep</span>(<span class="pl-c1">5</span>)
    <span class="pl-en">print</span>(<span class="pl-s">'Celery Worker1 should be up now'</span>)

    <span class="pl-s1">sleep</span>.<span class="pl-en">s</span>(<span class="pl-s1">sleep_arg</span><span class="pl-c1">=</span><span class="pl-v">SleepArg</span>(<span class="pl-c1">60</span>)).<span class="pl-en">apply_async</span>().<span class="pl-en">get</span>(<span class="pl-s1">disable_sync_subtasks</span><span class="pl-c1">=</span><span class="pl-c1">False</span>)

<span class="pl-k">if</span> <span class="pl-s1">__name__</span> <span class="pl-c1">==</span> <span class="pl-s">'__main__'</span>:
    <span class="pl-en">main</span>()</pre></div>
<p dir="auto">This program attempts to query active tasks, which fails because it can't deserialize <code class="notranslate">SleepArg</code>:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="from celery import Celery

if __name__ == '__main__':
    app = app = Celery(broker='redis://localhost:6379/0', backend='redis://localhost:6379/0')
    app.conf.update(
        worker_concurrency=1,
        task_serializer = 'pickle',
        accept_content = ['pickle', 'json'],
    )
    print(app.control.inspect(timeout=4).active())"><pre class="notranslate"><span class="pl-k">from</span> <span class="pl-s1">celery</span> <span class="pl-k">import</span> <span class="pl-v">Celery</span>

<span class="pl-k">if</span> <span class="pl-s1">__name__</span> <span class="pl-c1">==</span> <span class="pl-s">'__main__'</span>:
    <span class="pl-s1">app</span> <span class="pl-c1">=</span> <span class="pl-s1">app</span> <span class="pl-c1">=</span> <span class="pl-v">Celery</span>(<span class="pl-s1">broker</span><span class="pl-c1">=</span><span class="pl-s">'redis://localhost:6379/0'</span>, <span class="pl-s1">backend</span><span class="pl-c1">=</span><span class="pl-s">'redis://localhost:6379/0'</span>)
    <span class="pl-s1">app</span>.<span class="pl-s1">conf</span>.<span class="pl-en">update</span>(
        <span class="pl-s1">worker_concurrency</span><span class="pl-c1">=</span><span class="pl-c1">1</span>,
        <span class="pl-s1">task_serializer</span> <span class="pl-c1">=</span> <span class="pl-s">'pickle'</span>,
        <span class="pl-s1">accept_content</span> <span class="pl-c1">=</span> [<span class="pl-s">'pickle'</span>, <span class="pl-s">'json'</span>],
    )
    <span class="pl-en">print</span>(<span class="pl-s1">app</span>.<span class="pl-s1">control</span>.<span class="pl-en">inspect</span>(<span class="pl-s1">timeout</span><span class="pl-c1">=</span><span class="pl-c1">4</span>).<span class="pl-en">active</span>())</pre></div>
<p dir="auto"></p>
</details>
<h1 dir="auto">Expected Behavior</h1>
<p dir="auto">It should be possible to query active tasks from contexts that can't necessarily de-serialize task arguments. There is lots of useful information in the active query beyond the task arguments.</p>
<p dir="auto">Historically, Celery offered the <code class="notranslate">safe</code> argument to <code class="notranslate">active()</code>, but this was dropped in favour of preventing data from requiring<br>
deserialization from being in the response. <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/celery/celery/commit/40e2212208eafab8192162b241b8e3632ab2665d/hovercard" href="https://github.com/celery/celery/commit/40e2212208eafab8192162b241b8e3632ab2665d"><tt>40e2212</tt></a> breaks this.</p>
<h1 dir="auto">Actual Behavior</h1>
<p dir="auto">The program that queries active tasks hits the following exception.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Traceback (most recent call last):
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py&quot;, line 42, in _reraise_errors
    yield
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py&quot;, line 255, in loads
    return decode(data)
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py&quot;, line 327, in unpickle
    return pickle_loads(str_to_bytes(s))
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py&quot;, line 51, in pickle_loads
    return load(BytesIO(s))
AttributeError: Can't get attribute 'SleepArg' on &lt;module '__main__' from '../firex_ws/plugins/celery_list_active.py'&gt;

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File &quot;../firex_ws/plugins/celery_list_active.py&quot;, line 10, in &lt;module&gt;
    print(app.control.inspect(timeout=4).active())
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/celery/app/control.py&quot;, line 149, in active
    return self._request('active')
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/celery/app/control.py&quot;, line 106, in _request
    return self._prepare(self.app.control.broadcast(
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/celery/app/control.py&quot;, line 741, in broadcast
    return self.mailbox(conn)._broadcast(
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/pidbox.py&quot;, line 347, in _broadcast
    return self._collect(reply_ticket, limit=limit,
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/pidbox.py&quot;, line 389, in _collect
    self.connection.drain_events(timeout=timeout)
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/connection.py&quot;, line 318, in drain_events
    return self.transport.drain_events(self.connection, **kwargs)
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/transport/virtual/base.py&quot;, line 960, in drain_events
    get(self._deliver, timeout=timeout)
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/transport/redis.py&quot;, line 420, in get
    ret = self.handle_event(fileno, event)
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/transport/redis.py&quot;, line 402, in handle_event
    return self.on_readable(fileno), self
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/transport/redis.py&quot;, line 398, in on_readable
    chan.handlers[type]()
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/transport/redis.py&quot;, line 789, in _brpop_read
    self.connection._deliver(loads(bytes_to_str(item)), dest)
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/transport/virtual/base.py&quot;, line 980, in _deliver
    callback(message)
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/transport/virtual/base.py&quot;, line 630, in _callback
    return callback(message)
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/messaging.py&quot;, line 620, in _receive_callback
    decoded = None if on_m else message.decode()
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/message.py&quot;, line 190, in decode
    self._decoded_cache = self._decode()
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/message.py&quot;, line 194, in _decode
    return loads(self.body, self.content_type,
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py&quot;, line 255, in loads
    return decode(data)
  File &quot;/auto/firex/sw/python/3.8.10/lib/python3.8/contextlib.py&quot;, line 131, in __exit__
    self.gen.throw(type, value, traceback)
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py&quot;, line 46, in _reraise_errors
    reraise(wrapper, wrapper(exc), sys.exc_info()[2])
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/exceptions.py&quot;, line 21, in reraise
    raise value.with_traceback(tb)
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py&quot;, line 42, in _reraise_errors
    yield
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py&quot;, line 255, in loads
    return decode(data)
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py&quot;, line 327, in unpickle
    return pickle_loads(str_to_bytes(s))
  File &quot;/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py&quot;, line 51, in pickle_loads
    return load(BytesIO(s))
kombu.exceptions.DecodeError: Can't get attribute 'SleepArg' on &lt;module '__main__' from '../firex_ws/plugins/celery_list_active.py'&gt;
"><pre class="notranslate"><code class="notranslate">Traceback (most recent call last):
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py", line 42, in _reraise_errors
    yield
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py", line 255, in loads
    return decode(data)
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py", line 327, in unpickle
    return pickle_loads(str_to_bytes(s))
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py", line 51, in pickle_loads
    return load(BytesIO(s))
AttributeError: Can't get attribute 'SleepArg' on &lt;module '__main__' from '../firex_ws/plugins/celery_list_active.py'&gt;

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "../firex_ws/plugins/celery_list_active.py", line 10, in &lt;module&gt;
    print(app.control.inspect(timeout=4).active())
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/celery/app/control.py", line 149, in active
    return self._request('active')
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/celery/app/control.py", line 106, in _request
    return self._prepare(self.app.control.broadcast(
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/celery/app/control.py", line 741, in broadcast
    return self.mailbox(conn)._broadcast(
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/pidbox.py", line 347, in _broadcast
    return self._collect(reply_ticket, limit=limit,
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/pidbox.py", line 389, in _collect
    self.connection.drain_events(timeout=timeout)
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/connection.py", line 318, in drain_events
    return self.transport.drain_events(self.connection, **kwargs)
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/transport/virtual/base.py", line 960, in drain_events
    get(self._deliver, timeout=timeout)
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/transport/redis.py", line 420, in get
    ret = self.handle_event(fileno, event)
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/transport/redis.py", line 402, in handle_event
    return self.on_readable(fileno), self
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/transport/redis.py", line 398, in on_readable
    chan.handlers[type]()
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/transport/redis.py", line 789, in _brpop_read
    self.connection._deliver(loads(bytes_to_str(item)), dest)
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/transport/virtual/base.py", line 980, in _deliver
    callback(message)
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/transport/virtual/base.py", line 630, in _callback
    return callback(message)
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/messaging.py", line 620, in _receive_callback
    decoded = None if on_m else message.decode()
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/message.py", line 190, in decode
    self._decoded_cache = self._decode()
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/message.py", line 194, in _decode
    return loads(self.body, self.content_type,
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py", line 255, in loads
    return decode(data)
  File "/auto/firex/sw/python/3.8.10/lib/python3.8/contextlib.py", line 131, in __exit__
    self.gen.throw(type, value, traceback)
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py", line 46, in _reraise_errors
    reraise(wrapper, wrapper(exc), sys.exc_info()[2])
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/exceptions.py", line 21, in reraise
    raise value.with_traceback(tb)
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py", line 42, in _reraise_errors
    yield
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py", line 255, in loads
    return decode(data)
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py", line 327, in unpickle
    return pickle_loads(str_to_bytes(s))
  File "/ws/djungic-sjc/celery_venv/venv/lib/python3.8/site-packages/kombu/serialization.py", line 51, in pickle_loads
    return load(BytesIO(s))
kombu.exceptions.DecodeError: Can't get attribute 'SleepArg' on &lt;module '__main__' from '../firex_ws/plugins/celery_list_active.py'&gt;

</code></pre></div>