$ python worker2.py "--user_id" "3" "--user_email" "nguyenvanhienbk2006@gmail.com" "--user_fullname" "hiennv123" "--user_uuid" "d5f40bc8-596d-11ee-bad3-0242ac120004" "--origin_file_name" "huong dan.docx" "--input_file_path" "uploaded/hiennv/huong dan.docx" "--target_lang" "vietnamese" "--history_uuid" "c5aa3614-6680-11ee-9b31-0242ac120004" "--gpt_version" "gpt-3.5" INFO:__main__:Worker started. INFO:__main__:Parameters: {'user_id': 3, 'user_email': '****envanhienbk2006@gmail.com', 'user_fullname': 'hiennv123', 'user_uuid': 'd5f40bc8-596d-11ee-bad3-0242ac120004', 'origin_file_name': 'huong dan.docx', 'input_file_path': 'uploaded/hiennv/huong dan.docx', 'source_lang': None, 'target_lang': 'vietnamese', 'domain': None, 'tone': None, 'writing_style': None, 'history_uuid': 'c5aa3614-6680-11ee-9b31-0242ac120004', 'ai_model': None, 'gpt_version': 'gpt-3.5'} INFO:__main__:current_user from db hiennv123 INFO:__main__:File downloaded successfully to: tmp\uploaded/hiennv/huong dan.docx INFO:Job: translate_and_send_result:Translate and send result START INFO:app.translate_gpt_back_common.services.translator:setup_api_key of model: gpt-3.5 INFO:app.translate_gpt_back_common.services.translator:count_random_key: 500 INFO:Job: translate_and_send_result:current estimated_total_token to calculate lock: 2811 INFO:Job: translate_and_send_result:current_estimate_token: 0 INFO:app.translate_gpt_back_common.services.translator:Prompt array length: 1 INFO:app.translate_gpt_back_common.services.prompt_service:trans_text xxxxxxxxxxxx { "1": " \u4f5c\u56f3\u4f9d\u983c\u8868", "2": " \u4f9d\u983c\u65e5", "3": " 6\u6708", "4": " 13\u65e5", "5": " \u2022\u7269\u4ef6\u540d\u79f0", "6": " \u300e\u5bae\u57ce", "7": " \u514b\u53cb\u90b8\u65b0\u7bc9\u5de5\u4e8b\u300f", "8": " \u4f9d\u983c\u62c5\u5f53\u8005", "9": " \u7af9\u5185", "10": " \u2022\u4f9d\u983c\u5185\u5bb9", "11": " \u25a1\u914d\u7f6e\u56f3", "12": " \u679a", "13": " \u00a56,000", "14": " \u25a1\u5e73\u9762\u56f31/100", "15": " \u679a", "16": " \u00a56,000", "17": " 2\u968e\u5c64\u30671\u679a\u5358\u4f4d", "18": " \u25a1\u5e73\u9762\u56f31/50", "19": " \u679a", "20": " \u00a56,000", "21": " \u5404\u968e\u5c64\u30671\u679a\u5358\u4f4d", "22": " \u25a1\u7acb\u9762\u56f31/100", "23": " \u679a", "24": " \u00a56,000", "25": " 4\u9762\u30671\u679a", "26": " \u25a1\u77e9\u8a08\u56f3!/30", "27": " \u679a", "28": " \u00a58,000", "29": " \u7279\u6b8a\u306a\u6642\u4ee5\u5916\u4f9d\u983c\u3057\u306a\u3044", "30": " \u30ed\u5c55\u958b\u56f3!/50-1/30", "31": " \u679a", "32": " \u00a56,000", "33": " \u7e2e\u5c3a\u9078\u629e\u2022\u63cf\u304f\u9762\u5225\u9014\u6307\u793a", "34": " \u25a1\u96fb\u6c17\u8a2d\u5099\u56f31/50", "35": " 2 \u679a", "36": " \u00a56,000", "37": " \u00a512,000", "38": " \u5404\u968e\u5c64\u30671\u679a\u5358\u4f4d", "39": " \u25a1", "40": " \u679a", "41": " \u25a1", "42": " \u679a", "43": " \u25a1", "44": " \u679a", "45": " \u8a08", "46": " 2\u679a", "47": " \u00a512,000", "48": " \uff08\u7a0e\u5225\uff09", "49": " \u2022\u7d0d\u54c1\u5e0c\u671b\u65e5", "50": " 6 \u670816S", "51": " \u4e0a\u8a18\u5185\u5bb9\u306b\u3066\u6dfb\u4ed8\u8cc7\u6599\u53c2\u7167\u306e\u3046\u3048\u3001\u3054\u5bfe\u5fdc\u3088\u308d\u3057\u304f\u304a\u9858\u3044\u81f4\u3057\u307e\u3059\u3002", "52": " \u6e58\u6804\u5efa\u8a2d\u682a\u5f0f\u4f1a\u793e", "53": " \u627f\u8a8d", "54": " \u78ba\u8a8d", "55": " \u62c5\u5f53", "56": " \u3010\u8fd4", "57": " \u4fe1", "58": " \u6b04\u3011", "59": " \u2022\u53d7\u6ce8\u78ba\u8a8d\u6b04", "60": " \u7d0d\u54c1\u53ef\u80fd\u65e5", "61": " \u6708", "62": " \u65e5", "63": " \u53d7\u6ce8\u5f8c\u306e\u7d0d\u671f\u3092\u8a18\u8f09\u3057\u3066\u8fd4\u4fe1\u304a\u9858\u3044\u3057\u307e\u3059\u3002", "64": " \u682a\u5f0f\u4f1a\u793e\u30b8\u30e7\u30fc\u30a2\u30d6\u30ed\u30fc\u30c9" } INFO:app.translate_gpt_back_common.services.translator:Using open ai key: ********************BOhT3BlbkFJ89UWgvUjddqcFkOUC77K INFO:app.translate_gpt_back_common.services.translator:retry_count 1 INFO:app.translate_gpt_back_common.services.translator:[{'role': 'user', 'content': 'original_text: {\n "1": " \\u4f5c\\u56f3\\u4f9d\\u983c\\u8868",\n "2": " \\u4f9d\\u983c\\u65e5",\n "3": " 6\\u6708",\n "4": " 13\\u65e5",\n "5": " \\u2022\\u7269\\u4ef6\\u540d\\u79f0",\n "6": " \\u300e\\u5bae\\u57ce",\n "7": " \\u514b\\u53cb\\u90b8\\u65b0\\u7bc9\\u5de5\\u4e8b\\u300f",\n "8": " \\u4f9d\\u983c\\u62c5\\u5f53\\u8005",\n "9": " \\u7af9\\u5185",\n "10": " \\u2022\\u4f9d\\u983c\\u5185\\u5bb9",\n "11": " \\u25a1\\u914d\\u7f6e\\u56f3",\n "12": " \\u679a",\n "13": " \\u00a56,000",\n "14": " \\u25a1\\u5e73\\u9762\\u56f31/100",\n "15": " \\u679a",\n "16": " \\u00a56,000",\n "17": " 2\\u968e\\u5c64\\u30671\\u679a\\u5358\\u4f4d",\n "18": " \\u25a1\\u5e73\\u9762\\u56f31/50",\n "19": " \\u679a",\n "20": " \\u00a56,000",\n "21": " \\u5404\\u968e\\u5c64\\u30671\\u679a\\u5358\\u4f4d",\n "22": " \\u25a1\\u7acb\\u9762\\u56f31/100",\n "23": " \\u679a",\n "24": " \\u00a56,000",\n "25": " 4\\u9762\\u30671\\u679a",\n "26": " \\u25a1\\u77e9\\u8a08\\u56f3!/30",\n "27": " \\u679a",\n "28": " \\u00a58,000",\n "29": " \\u7279\\u6b8a\\u306a\\u6642\\u4ee5\\u5916\\u4f9d\\u983c\\u3057\\u306a\\u3044",\n "30": " \\u30ed\\u5c55\\u958b\\u56f3!/50-1/30",\n "31": " \\u679a",\n "32": " \\u00a56,000",\n "33": " \\u7e2e\\u5c3a\\u9078\\u629e\\u2022\\u63cf\\u304f\\u9762\\u5225\\u9014\\u6307\\u793a",\n "34": " \\u25a1\\u96fb\\u6c17\\u8a2d\\u5099\\u56f31/50",\n "35": " 2 \\u679a",\n "36": " \\u00a56,000",\n "37": " \\u00a512,000",\n "38": " \\u5404\\u968e\\u5c64\\u30671\\u679a\\u5358\\u4f4d",\n "39": " \\u25a1",\n "40": " \\u679a",\n "41": " \\u25a1",\n "42": " \\u679a",\n "43": " \\u25a1",\n "44": " \\u679a",\n "45": " \\u8a08",\n "46": " 2\\u679a",\n "47": " \\u00a512,000",\n "48": " \\uff08\\u7a0e\\u5225\\uff09",\n "49": " \\u2022\\u7d0d\\u54c1\\u5e0c\\u671b\\u65e5",\n "50": " 6 \\u670816S",\n "51": " \\u4e0a\\u8a18\\u5185\\u5bb9\\u306b\\u3066\\u6dfb\\u4ed8\\u8cc7\\u6599\\u53c2\\u7167\\u306e\\u3046\\u3048\\u3001\\u3054\\u5bfe\\u5fdc\\u3088\\u308d\\u3057\\u304f\\u304a\\u9858\\u3044\\u81f4\\u3057\\u307e\\u3059\\u3002",\n "52": " \\u6e58\\u6804\\u5efa\\u8a2d\\u682a\\u5f0f\\u4f1a\\u793e",\n "53": " \\u627f\\u8a8d",\n "54": " \\u78ba\\u8a8d",\n "55": " \\u62c5\\u5f53",\n "56": " \\u3010\\u8fd4",\n "57": " \\u4fe1",\n "58": " \\u6b04\\u3011",\n "59": " \\u2022\\u53d7\\u6ce8\\u78ba\\u8a8d\\u6b04",\n "60": " \\u7d0d\\u54c1\\u53ef\\u80fd\\u65e5",\n "61": " \\u6708",\n "62": " \\u65e5",\n "63": " \\u53d7\\u6ce8\\u5f8c\\u306e\\u7d0d\\u671f\\u3092\\u8a18\\u8f09\\u3057\\u3066\\u8fd4\\u4fe1\\u304a\\u9858\\u3044\\u3057\\u307e\\u3059\\u3002",\n "64": " \\u682a\\u5f0f\\u4f1a\\u793e\\u30b8\\u30e7\\u30fc\\u30a2\\u30d6\\u30ed\\u30fc\\u30c9"\n}. This is a json-format of a docx file, translate it to vietnamese and keep the original json structure'}] INFO:app.translate_gpt_back_common.services.translator:None INFO:app.translate_gpt_back_common.services.translator:{'id': 'chatcmpl-8RkDSATELdKwFHRWboAlqkGCG8Em7', 'object': 'chat.completion', 'created': 1701623202, 'model': 'gpt-3.5-turbo-0613', 'choices': [{'index': 0, 'message': {'role': 'assistant', 'content': '{\n "1": "Biểu đồ theo yêu cầu",\n "2": "Ngày theo yêu cầu",\n "3": "Tháng 6",\n "4": "Ngày 13",\n "5": "• Tên vật phẩm",\n "6": "‘Miền thành",\n "7": "‘Khối bạn mới xây dựng’",\n "8": "Người đề nghị",\n "9": "Trúc nội",\n "10": "• Nội dung theo yêu cầu",\n "11": "□ Đồ phân cấp",\n "12": "Cây",\n "13": "¥6,000",\n "14": "□ Diện tích 1/100",\n "15": "Cây",\n "16": "¥6,000",\n "17": "1 tầng 2 tầng",\n "18": "□ Diện tích 1/50",\n "19": "Cây",\n "20": "¥6,000",\n "21": "Mỗi tầng 1 cây đơn vị",\n "22": "□ Diện tích đứng 1/100",\n "23": "Cây",\n "24": "¥6,000",\n "25": "1 tấm 4 tấm",\n "26": "□ Bản tính/30",\n "27": "Cây",\n "28": "¥8,000",\n "29": "Không yêu cầu đặc biệt",\n "30": "□ Mở rộng/50-1/30",\n "31": "Cây",\n "32": "¥6,000",\n "33": "Thu gọn • Mô tả diện tích đặc biệt",\n "34": "□ Thiết bị điện 1/50",\n "35": "2 cây",\n "36": "¥6,000",\n "37": "¥12,000",\n "38": "Mỗi tầng 1 cây đơn vị",\n "39": "□",\n "40": "Cây",\n "41": "□",\n "42": "Cây",\n "43": "□",\n "44": "Cây",\n "45": "Tổng",\n "46": "2 cây",\n "47": "¥12,000",\n "48": "(Theo thuế)",\n "49": "• Ngày hy vọng giao hàng",\n "50": "Ngày 16 tháng 6",\n "51": "Trong phần nội dung trên, xin vui lòng thêm tài liệu tham khảo và hãy cho chúng tôi biết ý kiến của bạn.",\n "52": "Công ty cổ phần xây dựng Hồng Cây",\n "53": "Chấp nhận",\n "54": "Xác nhận",\n "55": "Người đề nghị",\n "56": "【Trả",\n "57": "Tin",\n "58": "Mục】",\n "59": "□ Mục xác nhận đăng ký",\n "60": "Ngày có thể giao hàng",\n "61": "Tháng",\n "62": "Ngày",\n "63": "Ghi lại thời hạn sau khi nhận đăng ký và xin vui lòng trả lời.",\n "64": "Công ty cổ phần Giáo dục"\n}'}, 'finish_reason': 'stop'}], 'usage': {'prompt_tokens': 1399, 'completion_tokens': 865, 'total_tokens': 2264}, 'system_fingerprint': None} INFO:app.translate_gpt_back_common.services.translator:setup_api_key of model: gpt-3.5 INFO:app.translate_gpt_back_common.services.translator:count_random_key: 500 INFO:app.translate_gpt_back_common.services.translator:res xxxxxxxxxxxxxxxxx : { "1": "Biểu đồ theo yêu cầu", "2": "Ngày theo yêu cầu", "3": "Tháng 6", "4": "Ngày 13", "5": "• Tên vật phẩm", "6": "‘Miền thành", "7": "‘Khối bạn mới xây dựng’", "8": "Người đề nghị", "9": "Trúc nội", "10": "• Nội dung theo yêu cầu", "11": "□ Đồ phân cấp", "12": "Cây", "13": "¥6,000", "14": "□ Diện tích 1/100", "15": "Cây", "16": "¥6,000", "17": "1 tầng 2 tầng", "18": "□ Diện tích 1/50", "19": "Cây", "20": "¥6,000", "21": "Mỗi tầng 1 cây đơn vị", "22": "□ Diện tích đứng 1/100", "23": "Cây", "24": "¥6,000", "25": "1 tấm 4 tấm", "26": "□ Bản tính/30", "27": "Cây", "28": "¥8,000", "29": "Không yêu cầu đặc biệt", "30": "□ Mở rộng/50-1/30", "31": "Cây", "32": "¥6,000", "33": "Thu gọn • Mô tả diện tích đặc biệt", "34": "□ Thiết bị điện 1/50", "35": "2 cây", "36": "¥6,000", "37": "¥12,000", "38": "Mỗi tầng 1 cây đơn vị", "39": "□", "40": "Cây", "41": "□", "42": "Cây", "43": "□", "44": "Cây", "45": "Tổng", "46": "2 cây", "47": "¥12,000", "48": "(Theo thuế)", "49": "• Ngày hy vọng giao hàng", "50": "Ngày 16 tháng 6", "51": "Trong phần nội dung trên, xin vui lòng thêm tài liệu tham khảo và hãy cho chúng tôi biết ý kiến của bạn.", "52": "Công ty cổ phần xây dựng Hồng Cây", "53": "Chấp nhận", "54": "Xác nhận", "55": "Người đề nghị", "56": "【Trả", "57": "Tin", "58": "Mục】", "59": "□ Mục xác nhận đăng ký", "60": "Ngày có thể giao hàng", "61": "Tháng", "62": "Ngày", "63": "Ghi lại thời hạn sau khi nhận đăng ký và xin vui lòng trả lời.", "64": "Công ty cổ phần Giáo dục" } INFO:app.translate_gpt_back_common.services.translator:res xxxxxxxxxxxxxxxxx : {'1': 'Biểu đồ theo yêu cầu', '2': 'Ngày theo yêu cầu', '3': 'Tháng 6', '4': 'Ngày 13', '5': '• Tên vật phẩm', '6': '‘Miền thành', '7': '‘Khối bạn mới xây dựng’', '8': 'Người đề nghị', '9': 'Trúc nội', '10': '• Nội dung theo yêu cầu', '11': '□ Đồ phân cấp', '12': 'Cây', '13': '¥6,000', '14': '□ Diện tích 1/100', '15': 'Cây', '16': '¥6,000', '17': '1 tầng 2 tầng', '18': '□ Diện tích 1/50', '19': 'Cây', '20': '¥6,000', '21': 'Mỗi tầng 1 cây đơn vị', '22': '□ Diện tích đứng 1/100', '23': 'Cây', '24': '¥6,000', '25': '1 tấm 4 tấm', '26': '□ Bản tính/30', '27': 'Cây', '28': '¥8,000', '29': 'Không yêu cầu đặc biệt', '30': '□ Mở rộng/50-1/30', '31': 'Cây', '32': '¥6,000', '33': 'Thu gọn • Mô tả diện tích đặc biệt', '34': '□ Thiết bị điện 1/50', '35': '2 cây', '36': '¥6,000', '37': '¥12,000', '38': 'Mỗi tầng 1 cây đơn vị', '39': '□', '40': 'Cây', '41': '□', '42': 'Cây', '43': '□', '44': 'Cây', '45': 'Tổng', '46': '2 cây', '47': '¥12,000', '48': '(Theo thuế)', '49': '• Ngày hy vọng giao hàng', '50': 'Ngày 16 tháng 6', '51': 'Trong phần nội dung trên, xin vui lòng thêm tài liệu tham khảo và hãy cho chúng tôi biết ý kiến của bạn.', '52': 'Công ty cổ phần xây dựng Hồng Cây', '53': 'Chấp nhận', '54': 'Xác nhận', '55': 'Người đề nghị', '56': '【Trả', '57': 'Tin', '58': 'Mục】', '59': '□ Mục xác nhận đăng ký', '60': 'Ngày có thể giao hàng', '61': 'Tháng', '62': 'Ngày', '63': 'Ghi lại thời hạn sau khi nhận đăng ký và xin vui lòng trả lời.', '64': 'Công ty cổ phần Giáo dục'} INFO:app.translate_gpt_back_common.services.translator:total_paragraphs_return : 64 INFO:app.translate_gpt_back_common.services.translator:total_paragraphs : 64 INFO:app.translate_gpt_back_common.services.translator:Prompt tokens: 1399 INFO:app.translate_gpt_back_common.services.translator:Used total tokens: 2264 INFO:app.translate_gpt_back_common.services.translator:save_stranslated_2_file: tmp\uploaded/hiennv\huong dan_vietnamese_translated.docx INFO:app.translate_gpt_back_common.services.translator:save finished INFO:Job: translate_and_send_result:tran_service.translate finished INFO:Job: translate_and_send_result:deduct_token INFO:Job: translate_and_send_result:2264 INFO:Job: translate_and_send_result:Start upload file to s3 INFO:app.translate_gpt_back_common.services.s3_client:Successfully upload tmp\uploaded/hiennv\huong dan_vietnamese_translated.docx to s3 bucket cdk-translate-gpt-dev-upload-bucket INFO:Job: translate_and_send_result:Upload successfully, start update user's token INFO:Job: translate_and_send_result:Start update user's token INFO:Job: translate_and_send_result:deduct_token: 2264 INFO:app.translate_gpt_back_common.services.user:Deduct user's tokens: 2264 INFO:app.translate_gpt_back_common.services.user:Update user's tokens completed: INFO:app.translate_gpt_back_common.helpers.email_helper:Send translated file notice email INFO:app.translate_gpt_back_common.helpers.email_helper:Message fc725e9f-c475-446d-8cf1-18df4fa6bcc3 sent to queue: https://sqs.ap-southeast-1.amazonaws.com/449813343309/cdk-translate-gpt-dev-send-email-queue INFO:Firebase client:Add notification to firebase START INFO:Firebase client:Add notification to firebase END INFO:Job: translate_and_send_result:Translate and send result success INFO:__main__:Translate & send result successfully, start update history INFO:__main__:Recalculate user lock token ERROR:root:Traceback (most recent call last): File "E:\ChatGPT-AINNATE\translate-gpt-worker\app\translate_gpt_back_common\core\deps.py", line 35, in get_db yield db File "E:\ChatGPT-AINNATE\translate-gpt-worker\worker2.py", line 195, in main crud.user_token.update( File "E:\ChatGPT-AINNATE\translate-gpt-worker\app\translate_gpt_back_common\crud\base.py", line 55, in update db.add(db_obj) File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 3318, in add self._save_or_update_state(state) File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 3342, in _save_or_update_state self._save_or_update_impl(state) File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 3992, in _save_or_update_impl self._update_impl(state) File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 3975, in _update_impl to_attach = self._before_attach(state, obj) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 4066, in _before_attach raise sa_exc.InvalidRequestError( sqlalchemy.exc.InvalidRequestError: Object '' is already attached to session '1' (this is '9') Traceback (most recent call last): File "E:\ChatGPT-AINNATE\translate-gpt-worker\app\translate_gpt_back_common\core\deps.py", line 35, in get_db yield db File "E:\ChatGPT-AINNATE\translate-gpt-worker\worker2.py", line 195, in main crud.user_token.update( File "E:\ChatGPT-AINNATE\translate-gpt-worker\app\translate_gpt_back_common\crud\base.py", line 55, in update db.add(db_obj) File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 3318, in add self._save_or_update_state(state) File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 3342, in _save_or_update_state self._save_or_update_impl(state) File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 3992, in _save_or_update_impl self._update_impl(state) File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 3975, in _update_impl to_attach = self._before_attach(state, obj) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 4066, in _before_attach raise sa_exc.InvalidRequestError( sqlalchemy.exc.InvalidRequestError: Object '' is already attached to session '1' (this is '9') ERROR:root:Object '' is already attached to session '1' (this is '9') Traceback (most recent call last): File "E:\ChatGPT-AINNATE\translate-gpt-worker\app\translate_gpt_back_common\core\deps.py", line 35, in get_db yield db File "E:\ChatGPT-AINNATE\translate-gpt-worker\worker2.py", line 195, in main crud.user_token.update( File "E:\ChatGPT-AINNATE\translate-gpt-worker\app\translate_gpt_back_common\crud\base.py", line 55, in update db.add(db_obj) File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 3318, in add self._save_or_update_state(state) File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 3342, in _save_or_update_state self._save_or_update_impl(state) File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 3992, in _save_or_update_impl self._update_impl(state) File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 3975, in _update_impl to_attach = self._before_attach(state, obj) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 4066, in _before_attach raise sa_exc.InvalidRequestError( sqlalchemy.exc.InvalidRequestError: Object '' is already attached to session '1' (this is '9') Traceback (most recent call last): File "E:\ChatGPT-AINNATE\translate-gpt-worker\worker2.py", line 212, in asyncio.run(main()) File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.1776.0_x64__qbz5n2kfra8p0\Lib\asyncio\runners.py", line 190, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.1776.0_x64__qbz5n2kfra8p0\Lib\asyncio\runners.py", line 118, in run return self._loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.1776.0_x64__qbz5n2kfra8p0\Lib\asyncio\base_events.py", line 653, in run_until_complete return future.result() ^^^^^^^^^^^^^^^ File "E:\ChatGPT-AINNATE\translate-gpt-worker\worker2.py", line 195, in main crud.user_token.update( File "E:\ChatGPT-AINNATE\translate-gpt-worker\app\translate_gpt_back_common\crud\base.py", line 55, in update db.add(db_obj) File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 3318, in add self._save_or_update_state(state) File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 3342, in _save_or_update_state self._save_or_update_impl(state) File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 3992, in _save_or_update_impl self._update_impl(state) File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 3975, in _update_impl to_attach = self._before_attach(state, obj) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\hienn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\sqlalchemy\orm\session.py", line 4066, in _before_attach raise sa_exc.InvalidRequestError( sqlalchemy.exc.InvalidRequestError: Object '' is already attached to session '1' (this is '9')