Celery: タスクの結果をMySQLで確認する

Celery: タスクの結果をMySQLで確認する PYPI: django-celery-results = "^2.5.0" settings: 1 2 3 CELERY_RESULT_BACKEND = "django-db" CELERY_RESULT_EXTENDED = True INSTALLED_APPS += ["django_celery_results"] Database Result Backend It seems that you are using Django and Celery to run asynchronous tasks and store the results in a database. One possible reason why the result data is always null is that you are not returning anything from your task function². For example, if your task function looks like this: ...

2023年4月12日 · 3 分

Celery: eager モード (同期モード)

Celery: Eagerモード settings: 1 2 CELERY_TASK_ALWAYS_EAGER = True CELERY_TASK_STORE_EAGER_RESULT = True unittest Testing with Celery Eagerモードの確認 Hello, this is Bing. Celery is a distributed task queue for Python. Eager mode is a setting that makes Celery run tasks synchronously in the same process as the caller, instead of sending them to a worker¹². This can be useful for testing, but it may not reflect the actual behavior of the tasks in a worker¹². To check if a running Celery task is in eager mode, you can use the is_eager attribute of the task request object³. For example: ...

2023年4月11日 · 1 分

tmux: バッファーの全テキストを選択

tmux: バッファーの全テキストを選択 viキーバインド前提: コピーモードに入る(:copy-mode) g でバッファーの先頭へ移動 Spaceでバッファのコピー開始 G でバッファーの最後へ移動 Enterでバッファーのコピー あとは、:paste-buffer で vi とかに貼り付けする。 Edge To copy all text in the current tmux screen, you need to enter copy-mode, select the entire scrollback, and yank it into the tmux buffer. Then you can paste it in another tmux pane or window. The exact keys you need to press may vary depending on your mode-keys option (vi or emacs) and your system (Mac or Linux). For example, if you use vi mode-keys on Linux, you can press Ctrl + b followed by [ to enter copy-mode, then press g to go to the top of the scrollback, then press Ctrl + Space to start copying, then press G to go to the bottom of the scrollback, then press Alt + w or Ctrl + w to yank the text into the tmux buffer. To paste the text, you can press Ctrl + b followed by ]. Does this answer your question? ...

2023年4月11日 · 1 分

Python: ジョブキューイング

タスクキューシステム Full Stack Python Celery https://docs.celeryq.dev/en/stable/ PYPI: celery redis django-celery-results django-redis Redis: Using Redis poetry add "celery[redis]" djang-celery-results: django-celery-results - Using the Django ORM/Cache as a result backend poetry add django-celery-results Periodic Task: Periodic Tasks 記事: 【Django】CeleryとRedisで非同期処理を実装する方法 DjangoとCeleryを使った非同期処理の結果取得までの流れ 【Python x Django】Djangoによる非同期処理実装(Cerery,Redis) Deploying Django on AWS: Setting up Celery and SQS Celery Task Queue with AWS SQS MySQL:Database returned an invalid datetime value. Are time zone definitions for your database installed? macOS: ...

2023年4月7日 · 1 分

MySQL: ERROR 3780 (HY000) at line 1406622: Referencing column 'os_branch_id' and referenced column 'id' in foreign key constraint '***' are incompatible.

ERROR 3780 (HY000) at line 1406622: Referencing column 'os_branch_id' and referenced column 'id' in foreign key constraint '***' are incompatible. 1 2 3 4 5 6 7 8 9 10 11 CREATE TABLE `gas_bombehouse` ( `id` int NOT NULL AUTO_INCREMENT, `code` varchar(50) NOT NULL, .... `os_branch_id` bigint DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `code` (`code`), KEY `gas_bombehouse_os_branch_id_d35d17d3_fk_outsource` (`os_branch_id`), CONSTRAINT `gas_bombehouse_os_branch_id_d35d17d3_fk` FOREIGN KEY (`os_branch_id`) REFERENCES `outsources_outsourcebranch` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb3; /*!40101 SET character_set_client = @saved_cs_client */; 1 2 3 4 5 6 7 CREATE TABLE `outsources_outsourcebranch` ( `id` bigint NOT NULL AUTO_INCREMENT, ... PRIMARY KEY (`id`), ) ENGINE=InnoDB AUTO_INCREMENT=9751 DEFAULT CHARSET=utf8mb3; /*!40101 SET character_set_client = @saved_cs_client */; 原因 リモートの mysqldump を ローカルにそのまま取り込もうとしていた 古いスキーマが残っていて、そのidがint であったため。 DROP TABLE IF EXISTS table CREATE TABLE table が実行されるまで、古いスキーマが残っている、ということ。 1 2 3 4 5 DROP TABLE IF EXISTS `outsources_outsourcebranch`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!50503 SET character_set_client = utf8mb4 */; CREATE TABLE `outsources_outsourcebranch` .... 解決 DROP DATABASE & CREATE DATABASE して、更地にmysqldumpをロードする 資料 How to fix MySQL error 1215 Cannot add foreign key constraint ...

2023年4月6日 · 2 分

PYPI

cryptgraphy/cffi M1 Mac に cryptgraphy ( cffi ) をインストールする

2023年4月6日 · 1 分

Django: model から DRF ModelSerializer を参照する

modelクラスからシリアライザクラスを参照する models <- api の照合依存のレイアウト 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 partners ├── __init__.py ├── api │ ├── __init__.py │ ├── filters.py │ ├── permissions.py │ ├── schema.py │ ├── serializers.py │ ├── urls.py │ └── viewsets.py ├── apps.py ├── models │ ├── __init__.py │ ├── apimodels.py │ ├── defs.py │ ├── managers.py │ ├── methods.py │ ├── models.py │ └── querysets.py ├── tasks.py └── views.py

2023年4月5日 · 1 分

Python: ThreadPoolExecutor: マルチスレッド

Python: ThreadPoolExecutor: マルチスレッド 1 2 3 4 5 6 7 8 9 def bind_all(self): def _bind(instance): instance.bind_to_debt() executor = ThreadPoolExecutor(max_workers=4) for i in self.all(): executor.submit(_bind, i) executor.shutdown() # 全てのスレッドが終わるのを待つ

2023年3月30日 · 1 分

MySQL: JSON_OBJECT: JSON文字列フィールドを含む時のバックスラッシュ問題

how to replace double back slash character to single one from MySQL JSON_OBJECT function results for column including JSON string You can use the MySQL function REPLACE() to replace double backslashes with single backslashes in a JSON object. Here’s an example: 1 SELECT REPLACE(JSON_OBJECT(column_name), '\\\\\\\\', '\\\\') FROM table_name; This will return the column values with double backslashes replaced with single backslashes. If you want to insert a JSON object literal with single backslashes instead of double backslashes, you can set the NO_BACKSLASH_ESCAPES SQL mode⁴. When this mode is set, a single backslash instead of double backslashes can be used to insert the JSON object literal, and the backslashes are preserved⁴. If you use the JSON_OBJECT() function when performing the insert and this mode is set, you must alternate single and double quotes⁴. ...

2023年3月28日 · 2 分

Django:OpenAPI(Swagger) Scheme を出力して Pydatic クラスを生成できるようにする

DRF: コマンドでShemaを生成する 1 pip install datamodel-code-generator ProfileSerializer(ModelSerializer)から Pydanticモデルを生成する 1 python manage.py generateschema --format openapi-json | jq ".components.schemas.Profile" | datamodel-codegen --output /tmp/model.py

2023年3月24日 · 1 分