170 похожих чатов

В корне с другими приложениями я создал папку с функциями,

которые все приложения используют, но оказалось, что нельзя импортировать так:

from ...global_services.ticket_system import get_ticket_activity

Селери видит в этом ошибку...видимо из-за того, что его корневой файл в находится в папке рядом с settings.py, а не на уровень выше

Как мне сделать общие функции для всего проекта и чтобы celery не крашился при этом?

11 ответов

21 просмотр

Покажи структура папки

Mark-Kozlov Автор вопроса

Куда мне поместить общие функции чтобы весь проект ими пользовался? Или как сконфигурировать celery чтобы можно было на уровень проекта подняться в импорте?

Так ты ответь на сообщение ниже

Mark-Kozlov Автор вопроса

├── core │ ├── core │ │ ├── asgi.py │ │ ├── celery.py │ │ ├── __init__.py │ │ ├── settings.py │ │ ├── urls.py │ │ └── wsgi.py │ ├── global_services │ │ └── ticket_system.py │ └── support_kpi │ ├── tasks.py │ ├── tests.py │ ├── urls.py │ └── views.py

Mark-Kozlov Автор вопроса

Знаю. Я вырезал часть чтобы структура была понятна

это важная часть, трейбсек скинь

Mark-Kozlov Автор вопроса

Проблема в том, что нельзя симпортить global_services Трейсбек Сначала просто таск не видит: celery_1 | Did you remember to import the module containing this task? celery_1 | Or maybe you're using relative imports? celery_1 | celery_1 | Please see celery_1 | http://docs.celeryq.org/en/latest/internals/protocol.html celery_1 | for more information. celery_1 | celery_1 | The full contents of the message body was: celery_1 | b'[[], {}, {"callbacks": null, "errbacks": null, "chain": null, "chord": null}]' (77b) celery_1 | Traceback (most recent call last): celery_1 | File "/usr/local/lib/python3.9/site-packages/celery/worker/consumer/consumer.py", line 581, in on_task_received celery_1 | strategy = strategies[type_] celery_1 | KeyError: 'update_support_employees' Потом я исключил из импортов все, что обращалось в католог на уровень проекта и таски появились Когда пытаешься сделать импорт выходит такая ошибка celery_1 | Error: Invalid value for '-A' / '--app': celery_1 | Unable to load celery application. celery_1 | While trying to load the module core the following error occurred: celery_1 | Traceback (most recent call last): celery_1 | File "/usr/local/lib/python3.9/site-packages/celery/bin/celery.py", line 53, in convert celery_1 | return find_app(value) celery_1 | File "/usr/local/lib/python3.9/site-packages/celery/app/utils.py", line 384, in find_app celery_1 | sym = symbol_by_name(app, imp=imp) celery_1 | File "/usr/local/lib/python3.9/site-packages/kombu/utils/imports.py", line 56, in symbol_by_name celery_1 | module = imp(module_name, package=package, **kwargs) celery_1 | File "/usr/local/lib/python3.9/site-packages/celery/utils/imports.py", line 100, in import_from_cwd celery_1 | return imp(module, package=package) celery_1 | File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module celery_1 | return _bootstrap._gcd_import(name[level:], package, level) celery_1 | File "<frozen importlib._bootstrap>", line 1030, in _gcd_import celery_1 | File "<frozen importlib._bootstrap>", line 1007, in _find_and_load celery_1 | File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked celery_1 | File "<frozen importlib._bootstrap>", line 680, in _load_unlocked celery_1 | File "<frozen importlib._bootstrap_external>", line 790, in exec_module celery_1 | File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed celery_1 | File "/app/core/__init__.py", line 5, in <module> celery_1 | from .celery import app as celery_app celery_1 | File "/app/core/celery.py", line 31, in <module> celery_1 | from ..global_services import cache_decorators celery_1 | ImportError: attempted relative import beyond top-level package

ты венв не забыл?

Mark-Kozlov Автор вопроса

Что это?

почему двоеточие?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта