日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

Langfuse 后臺(tái)遷移(Background Migrations)完全指南:從 Prisma 注冊(cè)到 Env 門控執(zhí)行的源碼級(jí)解析

Langfuse 后臺(tái)遷移(Background Migrations)完全指南:從 Prisma 注冊(cè)到 Env 門控執(zhí)行的源碼級(jí)解析 Langfuse 后臺(tái)遷移Background Migrations完全指南從 Prisma 注冊(cè)到 Env 門控執(zhí)行的源碼級(jí)解析【免費(fèi)下載鏈接】langfuse Open source AI engineering platform: LLM evals, observability, metrics, prompt management, playground, datasets. Integrates with OpenTelemetry, LangChain, OpenAI SDK, LiteLLM, and more. YC W23項(xiàng)目地址: https://gitcode.com/GitHub_Trending/la/langfuse本文圍繞 Langfuse 倉庫中 worker/src/backgroundMigrations/README.md 的技術(shù)骨架展開系統(tǒng)講解后臺(tái)遷移機(jī)制的設(shè)計(jì)動(dòng)機(jī)、注冊(cè)方式、IBackgroundMigration接口契約、管理器BackgroundMigrationManager的加鎖/心跳/斷點(diǎn)續(xù)跑執(zhí)行流程以及envGate休眠行機(jī)制的完整用法。讀完本文你將能夠判斷何種操作應(yīng)當(dāng)作為后臺(tái)遷移而非普通 Prisma 遷移在 Langfuse 中正確新增一個(gè)可恢復(fù)、可排序、可門控的后臺(tái)遷移并理解 worker 如何保證遷移過程中事件處理不中斷、遷移失敗后如何被其他 worker 接管續(xù)跑。什么是后臺(tái)遷移何時(shí)必須使用它后臺(tái)遷移Background Migration是運(yùn)行時(shí)間較長、必須在新版本應(yīng)用能正確服務(wù)之前完成的作業(yè)型任務(wù)。Langfuse 將其與常規(guī)數(shù)據(jù)庫遷移Prisma migration區(qū)分開當(dāng)某個(gè)數(shù)據(jù)變更操作超過約 5 分鐘或不是原子操作時(shí)就不應(yīng)再放進(jìn)標(biāo)準(zhǔn)遷移里而應(yīng)交給后臺(tái)遷移機(jī)制。典型的適用場(chǎng)景包括填充新增的可選列backfill 歷史數(shù)據(jù)在表之間或系統(tǒng)之間搬運(yùn)數(shù)據(jù)如 PostgreSQL 與 ClickHouse 之間的數(shù)據(jù)同步對(duì)存量數(shù)據(jù)進(jìn)行加密、重寫、清理等耗時(shí)操作。從倉庫現(xiàn)狀看這些場(chǎng)景都有真實(shí)對(duì)應(yīng)實(shí)現(xiàn)worker/src/backgroundMigrations 目錄下共 11 個(gè)遷移文件覆蓋了addGenerationsCostBackfill.ts——為歷史 generation 觀測(cè)回填成本字段README 中的 CLI 示例即此腳本backfillEventsFullFromObservations.ts、backfillEventsFullFromDatasetRunItems.ts——ClickHouse 事件表回填backfillSysIdForDatasetItems.ts、backfillValidToForDatasetItems.ts——dataset_items 系統(tǒng) ID 與valid_to時(shí)間戳回填createRootSpansFromTraces.ts、rewriteObservationsToPidTidSorting.ts、dropPidTidSortingTables.ts——V4 歷史回填鏈M1M5中的根 span 創(chuàng)建、表重寫與清理encryptBlobStorageSecrets.ts——對(duì) blob 存儲(chǔ)集成中未加密的secretAccessKey進(jìn)行加密補(bǔ)寫backfillBillingCycleAnchors.ts、patchLLMToolAndLLLMSchemaAuditLogs.ts——計(jì)費(fèi)錨點(diǎn)與審計(jì)日志修補(bǔ)。從源碼結(jié)構(gòu)可以推斷該機(jī)制是 Langfuse 處理大規(guī)模數(shù)據(jù)遷移的統(tǒng)一通道幾乎每一次涉及存量數(shù)據(jù)改寫的能力發(fā)布都會(huì)經(jīng)由它執(zhí)行。新增后臺(tái)遷移的完整步驟新增一個(gè)后臺(tái)遷移需要同時(shí)做兩件事在數(shù)據(jù)庫background_migrations表中插入一行通常通過 Prisma migration SQL在當(dāng)前目錄worker/src/backgroundMigrations新增一個(gè)遷移腳本文件。注冊(cè)行數(shù)據(jù)庫中的遷移狀態(tài)記錄后臺(tái)遷移的狀態(tài)持久化在background_migrations表中其 Prisma 模型定義位于 packages/shared/prisma/schema.prisma#L334-L347model BackgroundMigration { id String id default(cuid()) name String unique script String map(script) args Json map(args) state Json default({}) map(state) finishedAt DateTime? map(finished_at) failedAt DateTime? map(failed_at) failedReason String? map(failed_reason) workerId String? map(worker_id) lockedAt DateTime? map(locked_at) map(background_migrations) }各字段語義如下字段類型說明idString (PK)遷移行唯一 ID遷移腳本中硬編碼引用見下文nameString (unique)遷移名稱必須可排序建議以日期為前綴如20260701_v4_step_2_...scriptString指向遷移腳本文件的名稱管理器據(jù)此require(./script)加載類argsJson遷移運(yùn)行參數(shù)可攜帶envGate門控聲明、projectId等stateJson遷移運(yùn)行中間狀態(tài)如游標(biāo)、分塊進(jìn)度用于斷點(diǎn)續(xù)跑finishedAt/failedAt/failedReasonDateTime?/String?完成/失敗標(biāo)記及原因workerId/lockedAtString?/DateTime?分布式鎖信息誰在跑、何時(shí)鎖定的實(shí)現(xiàn)類IBackgroundMigration 接口遷移腳本的默認(rèn)導(dǎo)出必須實(shí)現(xiàn) IBackgroundMigration 接口完整定義如下export interface IBackgroundMigration { validate: ( args: Recordstring, unknown, ) Promise{ valid: boolean; invalidReason: string | undefined }; run: (args: Recordstring, unknown) Promisevoid; abort: () Promisevoid; }三個(gè)方法的職責(zé)validate(args)在執(zhí)行前校驗(yàn)前置條件返回{ valid, invalidReason }。校驗(yàn)失敗的遷移會(huì)被標(biāo)記為failedAt不會(huì)執(zhí)行run。典型用法包括檢查注冊(cè)行是否存在、檢查目標(biāo)列是否存在見 backfillValidToForDatasetItems.ts#L32-L67 中對(duì)information_schema.columns的查詢、檢查前置遷移是否已成功完成見下文遷移鏈依賴守衛(wèi)。run(args)執(zhí)行實(shí)際遷移邏輯必須可恢復(fù)、可中斷。abort()worker 關(guān)閉或鎖被接管時(shí)被調(diào)用遷移實(shí)現(xiàn)應(yīng)在此置位已中止標(biāo)志并優(yōu)雅退出。以 backfillValidToForDatasetItems.ts 為范本一個(gè)標(biāo)準(zhǔn)的實(shí)現(xiàn)會(huì)在文件頂部用注釋硬編碼backgroundMigrationId該 ID 與 Prisma migration SQL 中插入的行 ID 一一對(duì)應(yīng)run()內(nèi)采用游標(biāo)式分批處理每次處理一批默認(rèn)batchSize 1000處理完將lastProcessedProjectId/lastProcessedId游標(biāo)寫回background_migrations.state批次之間默認(rèn)休眠delayBetweenBatchesMs 200ms以降低對(duì)數(shù)據(jù)庫的壓力每輪循環(huán)檢查this.isAborted被中止時(shí)立即跳出留下可續(xù)跑的狀態(tài)。其注釋明確描述了性能策略一次只處理一個(gè) project以利用(project_id, id, valid_from)復(fù)合索引每個(gè) project 內(nèi)最多批量取 100 個(gè)id對(duì)用LEAD()窗口函數(shù)計(jì)算相鄰版本的valid_to——窗口函數(shù)只作用于當(dāng)前批次而不是整張表從而避免全表掃描式的內(nèi)存開銷。注冊(cè)行與腳本的對(duì)應(yīng)關(guān)系兩者的關(guān)聯(lián)通過硬編碼 UUID與script 文件名完成。以 V4 回填鏈為例Prisma 遷移 SQL 中插入INSERT INTO background_migrations (id, name, script, args) VALUES ( 9c2d5a4f-7b8e-4f6a-a91c-3e5d7f8a2b1c, 20260701_v4_step_2_rewrite_observations_to_pid_tid_sorting, rewriteObservationsToPidTidSorting, {envGate: LANGFUSE_BACKGROUND_MIGRATION_V4_ENABLE_HISTORIC_BACKFILL}::jsonb );而腳本 rewriteObservationsToPidTidSorting.ts 中同樣硬編碼了該 UUID。管理器正是通過script字段執(zhí)行new (require(\./${migration.script}).default)() 來加載遷移類見 backgroundMigrationManager.ts#L114。倉庫中已注冊(cè)的后臺(tái)遷移可見于 packages/shared/prisma/migrations 下多個(gè)以add_..._background_migration命名的遷移目錄例如20241024121500_add_generations_cost_backfill_background_migration、20260701115500_add_create_root_spans_background_migration等每個(gè)目錄的migration.sql都以INSERT INTO background_migrations (id, name, script, args)開頭。遷移的硬性要求RequirementsREADME 明確了后臺(tái)遷移必須遵守的七條要求這是設(shè)計(jì)評(píng)審的核心檢查清單任何時(shí)刻都必須可恢復(fù)recoverable遷移可以被中斷并且必須能在任意階段恢復(fù)。實(shí)現(xiàn)方式有兩種——跨系統(tǒng)遷移做成冪等idempotent單數(shù)據(jù)庫內(nèi)遷移保證每次變更原子。同一時(shí)刻只能有一個(gè)后臺(tái)遷移運(yùn)行這并非技術(shù)限制而是為了讓推理遷移行為更容易。必須在 changelog 及其他頁面高亮提示如果代碼依賴某個(gè)后臺(tái)遷移已完成必須明確告知運(yùn)維人員README 引用了 GitLab 的 upgrade stops 作為溝通范式。遷移名稱必須可排序因?yàn)檫w移按name升序依次執(zhí)行最好以日期為前綴。必須假設(shè) worker 在遷移運(yùn)行期間會(huì)繼續(xù)處理事件即遷移應(yīng)避免調(diào)用應(yīng)用代碼避免與應(yīng)用業(yè)務(wù)邏輯耦合。必須假設(shè)遷移運(yùn)行期間有新事件持續(xù)寫入即遷移不能依賴數(shù)據(jù)庫狀態(tài)是靜態(tài)的要能容忍并發(fā)寫入。第 5、6 條尤其關(guān)鍵——它決定了后臺(tái)遷移與普通遷移的本質(zhì)區(qū)別后臺(tái)遷移運(yùn)行在生產(chǎn)流量持續(xù)寫入的環(huán)境中因此逐條掃描、游標(biāo)續(xù)跑、冪等重放是標(biāo)配設(shè)計(jì)。執(zhí)行引擎BackgroundMigrationManager 的調(diào)度與鎖后臺(tái)遷移的執(zhí)行引擎是 backgroundMigrationManager.ts 中的BackgroundMigrationManager類。worker 在啟動(dòng)時(shí)會(huì)檢查環(huán)境變量LANGFUSE_ENABLE_BACKGROUND_MIGRATIONS默認(rèn)true定義于 worker/src/env.ts#L215-L217為真時(shí)異步啟動(dòng)BackgroundMigrationManager.run()且不會(huì)阻塞隊(duì)列 worker見 worker/src/app.ts#L125-L130。主循環(huán)流程run()的執(zhí)行邏輯backgroundMigrationManager.ts#L41-L192可概括為掃描可運(yùn)行遷移在數(shù)據(jù)庫事務(wù)中執(zhí)行findFirst篩選finishedAt null且failedAt null的行同時(shí)應(yīng)用 envGate 過濾見下一節(jié)按name升序取出最早一條。鎖檢查若取到遷移但lockedAt在最近60 秒內(nèi)被更新過則視為被其他 worker 持有直接結(jié)束本輪避免并發(fā)執(zhí)行。注意lockedAt不在數(shù)據(jù)庫查詢條件中因?yàn)閒indFirst可能返回其他未完成遷移若在查詢中過濾會(huì)導(dǎo)致漏鎖。加鎖通過update將workerId設(shè)為本進(jìn)程的randomUUID()lockedAt設(shè)為當(dāng)前時(shí)間。整個(gè)查詢加鎖過程包在isolationLevel: Serializable的事務(wù)中maxWait: 5000保證鎖獲取的原子性。心跳heartbeat調(diào)用heartBeat()后每15 秒將當(dāng)前活躍遷移的lockedAt刷新為當(dāng)前時(shí)間backgroundMigrationManager.ts#L20-L39。這既是我活著的信號(hào)也是鎖續(xù)約的機(jī)制。校驗(yàn)并運(yùn)行先調(diào)用migration.validate(args)。校驗(yàn)失敗則寫入failedAt/failedReason并繼續(xù)下一條成功則調(diào)用migration.run(args)。標(biāo)記完成run()正常返回且遷移仍處于活躍狀態(tài)時(shí)寫入finishedAt并清空lockedAt。循環(huán)繼續(xù)找下一條未完成遷移直到?jīng)]有可運(yùn)行的遷移為止。崩潰接管與優(yōu)雅關(guān)閉worker 被 kill由于心跳停止lockedAt不再刷新60 秒后鎖自然過期另一個(gè) worker會(huì)取到該遷移并從上次斷點(diǎn)繼續(xù)。這正是 README 描述的另一個(gè) worker 會(huì)接手續(xù)跑機(jī)制的實(shí)現(xiàn)遷移進(jìn)度依賴state字段中的游標(biāo)/分塊狀態(tài)而非進(jìn)程內(nèi)內(nèi)存。worker 優(yōu)雅關(guān)閉close()backgroundMigrationManager.ts#L194-L211會(huì)調(diào)用活躍遷移的abort()方法隨后清空lockedAt但不寫finishedAt因?yàn)檫w移并未完成。該close()在 worker/src/utils/shutdown.ts#L105 的關(guān)閉流程中被調(diào)用。遷移鏈依賴守衛(wèi)管理器本身沒有依賴模型——它只按名稱順序執(zhí)行所有合格行并獨(dú)立標(biāo)記每個(gè)遷移的完成/失敗。這意味著上游遷移失敗并不會(huì)自動(dòng)阻止下游遷移在部分?jǐn)?shù)據(jù)上運(yùn)行。為此倉庫在 worker/src/backgroundMigrations/utils/backfillBase.ts#L122-L151 提供了checkPredecessorMigrationFinalized(predecessorId, predecessorName)工具前置遷移未注冊(cè)、failedAt非空、或finishedAt為空均返回校驗(yàn)失敗下游遷移在validate()中調(diào)用它失敗信息會(huì)經(jīng)由管理器的校驗(yàn)失敗路徑寫入failedAt由于鏈條上的每一步都守衛(wèi)自己的前置步驟單個(gè)失敗會(huì)傳遞性地中斷整條鏈。典型用例見 dropPidTidSortingTables.ts#L38-L45M5 清理遷移校驗(yàn)時(shí)檢查 M420260701_v4_step_4_backfill_events_full_from_dataset_run_items是否已完成。本地與測(cè)試環(huán)境執(zhí)行命令行運(yùn)行方式后臺(tái)遷移最好能通過命令行直接執(zhí)行以便本地開發(fā)或在 staging 環(huán)境測(cè)試。README 給出的標(biāo)準(zhǔn)命令是cd worker dotenv -e ../.env -- npx tsx src/backgroundMigrations/script-name.ts # 示例 dotenv -e ../.env -- npx tsx src/backgroundMigrations/addGenerationsCostBackfill.ts該命令依賴dotenv-cli加載倉庫根目錄的.env用tsx直接運(yùn)行遷移腳本。腳本通過require.main module判斷自身是被直接執(zhí)行還是被導(dǎo)入被直接執(zhí)行時(shí)進(jìn)入 CLI 入口例如 backfillValidToForDatasetItems.ts#L163-L176先validate再run失敗以非零退出碼結(jié)束進(jìn)程。分塊回填類遷移還提供了一套標(biāo)準(zhǔn) CLI 參數(shù)定義于 utils/backfillBase.ts#L834-L908 的runBackfillMigrationCli參數(shù)短選項(xiàng)默認(rèn)值說明--concurrency-c1同時(shí)運(yùn)行的 ClickHouse 查詢數(shù)--pollIntervalMs-p30000輪詢活躍查詢狀態(tài)的間隔毫秒--maxRetries-r3單個(gè)分塊的最大重試次數(shù)--retryFailed-ffalse將失敗分塊重置為 pending 重新嘗試--partitions可多值無僅處理指定的 yyyymm 分區(qū)深入分塊回填基類與 ClickHouse 斷點(diǎn)恢復(fù)V4 歷史回填鏈的遷移M2M4并非直接實(shí)現(xiàn)IBackgroundMigration而是繼承抽象基類ChunkedClickhouseBackfillMigrationutils/backfillBase.ts#L429-L823這是 README可恢復(fù)要求最完整的工程化體現(xiàn)分塊枚舉從 ClickHousesystem.parts發(fā)現(xiàn)活躍的 yyyymm 分區(qū)跳過patch-%與all元分區(qū)每個(gè)分區(qū)生成一個(gè)BaseChunkTodopending → in_progress → completed/failed見loadPartitionsFromClickhousebackfillBase.ts#L166-L208。fire-and-poll 模式fireQuerybackfillBase.ts#L247-L346發(fā)起一個(gè)長時(shí)運(yùn)行的 ClickHouse 查詢確認(rèn)其在system.processes中被跟蹤后主動(dòng)斷開 HTTP 連接讓查詢?cè)诜?wù)端繼續(xù)執(zhí)行再通過pollQueryStatus輪詢完成狀態(tài)并設(shè)置max_execution_time: 0避免服務(wù)端超時(shí)掐斷長查詢。崩潰恢復(fù)recoverInProgressTodosbackfillBase.ts#L360-L412在每次run()開始時(shí)重新關(guān)聯(lián)上一次 worker 遺留的 in-flight 查詢——已完成的標(biāo)記完成失敗的按重試計(jì)數(shù)重置為 pending仍運(yùn)行的繼續(xù)跟蹤。所有分塊狀態(tài)todos、activeQueries、phase、config都持久化在background_migrations.state中l(wèi)oadState/updateState。并發(fā)與重試調(diào)度循環(huán)按concurrency填充空閑槽位每個(gè)分塊失敗后遞增retryCount達(dá)到maxRetries才標(biāo)記為永久失敗并拋出錯(cuò)誤使管理器寫入failedAt--retry-failed可將其重置后重跑。遷移鏈?zhǔn)匦l(wèi)與表存在性校驗(yàn)validate()先檢查前置遷移是否finishedAt再對(duì)requiredTables逐表SHOW TABLES確認(rèn)存在最多重試 5 次、間隔 10 秒隨后觸發(fā)afterTablesValidated鉤子執(zhí)行惰性 DDL如創(chuàng)建 scratch 表。這段實(shí)現(xiàn)解釋了 README 要求的底層落地所有進(jìn)度都在數(shù)據(jù)庫中中斷只是原地暫?;謴?fù)只是重新 attach。環(huán)境變量門控遷移envGate / dormant 行動(dòng)機(jī)與機(jī)制某些遷移需要在 release N 就隨包發(fā)布但只能在 release N1 才執(zhí)行或僅在運(yùn)維人員顯式 opt-in 時(shí)執(zhí)行。為此引入envGate機(jī)制帶門控的遷移行處于dormant休眠狀態(tài)——它存在于background_migrations表中且finished_at NULL但管理器在查詢時(shí)跳過它直到對(duì)應(yīng)的環(huán)境變量被設(shè)為true。關(guān)鍵設(shè)計(jì)點(diǎn)門控檢查被推入findFirst的謂詞中backgroundMigrationManager.ts#L64-L76因此休眠行不會(huì) head-of-line 阻塞其后按名稱排序的其他遷移——排在它后面的、未門控或門控已開啟的遷移照常運(yùn)行。如何編寫一個(gè)門控遷移README 給出了三步流程結(jié)合倉庫證據(jù)展開如下第 1 步選擇門控名稱必須以LANGFUSE_BACKGROUND_MIGRATION_為前綴。管理器通過掃描已驗(yàn)證的 env不是全部process.env中鍵以該前綴開頭且值為true的變量來發(fā)現(xiàn)活躍門控backgroundMigrationManager.ts#L51-L55。第 2 步在 Prisma 遷移 SQL 中通過行的args聲明門控INSERT INTO background_migrations (id, name, script, args) VALUES ( ..., 20260521120000_my_dormant_migration, myDormantMigration, {projectId: ..., envGate: LANGFUSE_BACKGROUND_MIGRATION_V4_ENABLE_MY_FEATURE}::jsonb );args.envGate的取值必須與第 1 步的門控名一致。倉庫中的真實(shí)樣例可見 20260701115504_add_drop_pid_tid_sorting_tables_background_migration/migration.sql門控LANGFUSE_BACKGROUND_MIGRATION_V4_DROP_PID_TID_SORTING_TABLES與 20260701115501_add_rewrite_observations_to_pid_tid_sorting_background_migration/migration.sql門控LANGFUSE_BACKGROUND_MIGRATION_V4_ENABLE_HISTORIC_BACKFILL。第 3 步在worker/src/env.ts的EnvSchema中注冊(cè)該環(huán)境變量使用z.enum([true, false]).default(false)使其類型化、啟動(dòng)時(shí)校驗(yàn)、且默認(rèn)休眠LANGFUSE_BACKGROUND_MIGRATION_V4_ENABLE_HISTORIC_BACKFILL: z .enum([true, false]) .default(true), LANGFUSE_BACKGROUND_MIGRATION_V4_DROP_PID_TID_SORTING_TABLES: z .enum([true, false]) .default(false),以上兩行取自 worker/src/env.ts#L601-L606注釋還解釋了各自默認(rèn)值的取舍歷史回填門控默認(rèn)開啟對(duì)無歷史數(shù)據(jù)的新部署是 no-op而排序表清理門控默認(rèn)關(guān)閉以便自托管用戶保留中間產(chǎn)物做排查直到確認(rèn)新路徑健康后再開啟。門控的運(yùn)行時(shí)行為環(huán)境變量為true該行對(duì)管理器可見按正常的名稱順序執(zhí)行環(huán)境變量為false或缺失該行不可見——不加鎖、不打印 skip 日志、不造成 head-of-line 阻塞。管理器執(zhí)行時(shí)會(huì)先收集所有值為true的LANGFUSE_BACKGROUND_MIGRATION_*變量構(gòu)成activeGates數(shù)組然后構(gòu)造OR條件要么args.envGate為空Prisma.AnyNull即未門控要么等于某個(gè)活躍門控名。這樣一條查詢就同時(shí)實(shí)現(xiàn)了跳過休眠行與保留普通遷移兩種語義見 backgroundMigrationManager.ts#L57-L76。自檢清單與運(yùn)維注意事項(xiàng)綜合以上機(jī)制在 Langfuse 中落地一個(gè)新的后臺(tái)遷移建議按如下清單核查是否確實(shí)需要后臺(tái)遷移單次運(yùn)行超過約 5 分鐘或非原子操作 → 是否則請(qǐng)走標(biāo)準(zhǔn) Prisma migration。注冊(cè)完備性Prisma 遷移 SQL 已插入background_migrations行腳本文件已存在于 worker/src/backgroundMigrations默認(rèn)導(dǎo)出實(shí)現(xiàn)了 IBackgroundMigration腳本內(nèi)硬編碼的 UUID 與 SQL 中的id一致。名稱可排序name以日期/序號(hào)前綴如20260701_v4_step_5_...確保執(zhí)行順序可預(yù)期??苫謴?fù)性單庫內(nèi)逐步原子提交跨庫/跨系統(tǒng)PG ? ClickHouse冪等進(jìn)度寫入state游標(biāo)或分塊狀態(tài)。并發(fā)友好不依賴數(shù)據(jù)庫靜態(tài)狀態(tài)run()內(nèi)每輪檢查isAborted不調(diào)用應(yīng)用層業(yè)務(wù)代碼。門控如需休眠args.envGate以LANGFUSE_BACKGROUND_MIGRATION_前綴命名已在worker/src/env.ts的EnvSchema中注冊(cè)z.enum([true,false]).default(false)。依賴鏈如需下游遷移在validate()中調(diào)用checkPredecessorMigrationFinalized守衛(wèi)上游上游失敗會(huì)傳遞性阻斷整條鏈。變更溝通若應(yīng)用代碼依賴遷移完成需在 changelog 與部署文檔中顯式標(biāo)注參考 GitLab 的 upgrade stops 溝通方式。運(yùn)行時(shí)驗(yàn)證本地用dotenv -e ../.env -- npx tsx src/backgroundMigrations/script-name.ts單跑驗(yàn)證staging 可用--concurrency/--maxRetries/--retry-failed/--partitions控制執(zhí)行面生產(chǎn)環(huán)境確認(rèn)LANGFUSE_ENABLE_BACKGROUND_MIGRATIONStrue且 worker 心跳15s 刷新lockedAt正常。故障排查遷移卡住時(shí)檢查background_migrations行的lockedAt60 秒內(nèi)視為鎖有效、failedReason、state中的游標(biāo)失敗后清除failedAt可讓管理器重試該行分塊遷移可清failedAt后以--retry-failed重跑失敗分塊。通過這套機(jī)制Langfuse 得以在不中斷事件流處理的前提下安全地完成從填充可選列到整表跨系統(tǒng)重寫的各種重型數(shù)據(jù)遷移并將失敗恢復(fù)、多 worker 接管、分階段發(fā)布等運(yùn)維復(fù)雜度收斂在 backgroundMigrationManager.ts 與 utils/backfillBase.ts 兩處基礎(chǔ)設(shè)施之中。【免費(fèi)下載鏈接】langfuse Open source AI engineering platform: LLM evals, observability, metrics, prompt management, playground, datasets. Integrates with OpenTelemetry, LangChain, OpenAI SDK, LiteLLM, and more. YC W23項(xiàng)目地址: https://gitcode.com/GitHub_Trending/la/langfuse創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97视频在线| 97精品久久| 97超碰天天爱天天爱| 熟女天天干| 97网址97| 亚洲精品蜜桃久久久| 日韩有码专区| 天天躁日日躁xxxxx| 青青久久手机线视频| 亚洲精品人妻吞精av| 成人性爱全视频观看| 六月天婷婷| 日产国产精品中文久久婷婷| 久久久91福利姬| 97日韩超碰超碰中文字幕| 超碰97COm中文| 精品日韩| 欧美日韩色综合网| 久久麻豆一区二区| 久久夜精品一区二区三区| 午夜亚洲| 久久只有精品| 明星性猛交ⅹxxx乱大交| 天天综合中文字幕 91| 99re热有精品视频国产| 女人爽到高潮久久久| 97国产亚洲中文在线| 蜜臀一二三区| 精品久久久高清无码| 超碰免费在线| 麻豆国产成人精品| 少妇无码999| 日韩精品国产一区二区| 美女自卫慰黄网站免费| 超碰 另类 欧美| 台湾佬中文娱乐网久久久久久久久久com | 9九九九九视频在线观看| 久久有码| 超碰欧美97| 国产男人又猛又粗又爽| 激情图片伦理国产一区二区日韩| 国产嫩草精品A88AV| 嫩草美女久久| 偷拍欧美综合| 亚洲在线观看| 中文字幕国产| 中文字幕少妇色| 91丝袜人妻| 久久久久久日韩| 一区二区三区精品久久| 天天影视之亚洲综合网| 亞洲久久直播| 日韩内射视频| 麻豆精品.欧美精品.日韩精品.| 99国产在线 精品 视频| 大香蕉伊人网WWWn0n| 加勒比综合在线| 中日亚韩免费视频| 欧美在线啊啊啊| 国产精品丝袜在线| 五月天黄色激情视频| yazhousetuoumei| 日韩精品人妻一区二区| 亚洲国产欧美中文永久| 亚洲影视综合网| 丝袜加勒比| 国产高清精品一区二区三区毛片 | 亚洲欧美精品久| 国产白丝精品在线观看| 久久国产三区| 嗯嗯啊啊操我| 色婷婷狠狠| 黄色一区三区| 日本午夜福利影院| 黄色一区三区| 欧美日韩性爱无码| 美女黄码视频午夜| 亚洲欧洲精品视频发布| 日本免费一区二区不卡| 青椒国产97在线熟女| 蜜臀久久99精品久久久久免费观| 17c嫩草51久久91嫩草| 午夜精品久久久久久久男人的天堂| 久久久偷拍| 人人操人人操草草| 97超碰欧美手机在线| 在线a v| 天天做天天爱天天爽AV| 老司机深夜18禁污污网站| 一级黄色影片| 久久久久久久性爱| 日韩无码嘿咻黑热久| 天堂网亚洲区手机版| 伊人久久婷婷| 男人久久天堂| 伊人97超碰| 欧美日本成人一区二区| 9999伦理视频| 成人无码在线超碰网| 亚洲淫色网中文| 夜夜天天噜狠狠爱2021| 欧美在线干| 日韩成人网址| 激情小说在线视频| 玖玖蜜臀资源网| AV麻豆免费一区| 久久久九97| 久久久久久久人妻丝袜| 秋霞男人网| 久久国产免费激情视频| 亚欧操逼片在线观看 | 国内亚洲高清无码| 亚洲综合图片在线| 久草视频在线视频在线视频在线观看| 免费网站观看www在线观| 欧美性爱1080p| 亭亭在线资源| 婷婷五月天综合网| 欧美很很操视频| 欧美亚洲中文字幕| 欧美成人都市人妻| 婷婷干黄色| 久草精品一区 | 国产精品99久久久www| 精品二区久久| 日本肏逼视频在线观看| 超碰九区| 精品久久久久久久久久久久 | 91熟女丨91老女人| 国产高清不卡视频| 大黄片做爱的大的| 一本久道久久综合狠狠爱一密臀精| 天天操女人| 素人一区二区三区日韩| 男生通女生屁股| 色婷婷一区二区三区久久午夜| 久久av网| 亚洲黄色网址视频| 亚洲欧美另类小说| 欧美 熟女 日韩| 在线无码操| 亚洲熟女综合一区二区| 青木玲在线不卡| 国产成人在线观看综合| 97精品免费| 国产噜噜噜噜噜久久久久久久久| 中亚av| 国产精品久久久久久高清无码免费看| 91精品国| 97这里都是精品| 91人妻尻屄视频| 九九亚洲| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 精品少妇人妻| 六月丁香五月婷婷| 免费伦费视频在线观看| 97欧美综合| AV在线资源| 成人在线日韩| 99国产精品视频尤物| 亚洲综合嫩| 搞中出视频在线观看| 亚洲国产日韩欧美熟妇在线| 久久国产免费激情视频| 少妇被玩视频二三区| 一级日本牲交大片好爽在线看| 热热色青青草| 欧美97视频| 成人综合久久精品色婷婷| 立川理惠被中出无码| 婷婷探花久久精品一区| 夜夜嗨AV蜜臀av| 无码日韩网站| 亚洲一区二区精品福利| 97色碰| 一区,二区,三区视频| 欧美天天插| 女同性恋久久| 北约熟女超碰| 亚洲无码偷拍| 久久久久久九九九| 蜜臀久久精品久久久久视频| 天天综合网站| 亚洲精品日韩国产欧美| 夜嗨影院| 91爆操视频| 自拍内地三级在线观看| 啊啊啊免费| 人人操人人精品影片| 中文字幕88av在线| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 强奸乱伦αv片| 最近二区三区视频大全| 国产91 丝袜在线播放| 国产九九九九九九| 噜噜噜亚洲精品| 麻豆AV一区二区| 天天影视色香色欲| 精品久久視頻在线| 97人妻色| 伊人久久大香大香线蕉中文| 天天做日日做| 国产在线视频二区| 精品人妻1区| 中文字幕丰满人妻日本| 亚洲电影中字一区二区| 欧美男人天堂| 超碰免费97| 亚洲色宗合| 亚洲精品97久久| 黄页av| JuliaAnn丝袜熟女系列| 99re这里只有| 999精品久久久久久久| 亚洲色婷婷综合久久久久中文| ss久久| 久久老子无码午夜伦不卡| 国产真实野战在线视频| 欧美性爱伊人| 九九99精品视频在线观看| 国产精品久久久鸭无码的功能| 91爆操视频| 久久精品国产精品一区 | 天天享受天天看| 欧洲亚洲人妻无码中字久久三区四区| 97色插| 超碰色中文| 另类亚洲图色| 成人亚欧免费视频| 精品亚洲黄色片 国产精品导航一区二区| 国产亚洲精品久久久久小| 人妻一二三区| 久久久久久国产无码精品| 日产操逼| 福利视频一区二区微拍| 欧美成人午夜免费福利785| 一区二区视频你懂的| 无码久| 国产在线76页| 天天色香欲综合网| 久久超碰98| 亚洲综合校园春色| 一区二区不卡免费| 超碰色97| 黄色成人网久久久久久| 精品国产丝袜一区二区三区乱码| 国产高清26uuu| 操逼操逼视频操逼| 国产AV超爽| 二色av| 久久超碰久| 自拍视频一区在线观看| 亚洲综合在线91| 干妹子| 欧美亚洲丝袜美女电影| 又摸又舔在线观看网站| 亚洲少妇自拍中文字幕懂色| juliaann丝袜| 亚洲影视第一页| 色婷婷日韩精品一区二区三区| 久久久青青草| 久久天天艹| 国产精品老师| 欧美日日夜夜| 亚欧美综合网。| 日本2020一区二区| 在线中文字幕| 91欧美| 国产午夜福利视频在线| 玖玖大干人妻| 亚洲一区中文精品| 欧美网站免费| 久久男人网| 久久日韩肥臀| 大香蕉黄色一级片免费看| 色综91| a'v在线资源| 1区2区3区中文字幕日韩| 国产吹潮女在线观看| 亚洲成成熟女人综合一区二区| 高清有码一区二区| 日韩成人电影AV| 色鬼在线综合| 俞拍久久国应视频| 99久久e免费热视| 亚洲国产一区二区三区在线| 久久有码视频| 欧美另类精品xxxx| 亚州成人a∨| 超碰精品97| 国产黄色剧情影片麻豆免费播放| 99热综合| 人妻天天爽夜夜爽2| 肏逼视频日本| 婷婷丁香五月天综合东京热| 综合网欧| 国模无码人体一区二区三| 99超级碰免费视频| 撸撸成人在线视频| 国产久久久久久| 欧美五十路熟| 国产剧情一区在线观看| 四虎免费在线播放| 五月丁香综合| 香蕉免费一区二区三区不读| 69视频入口| AV大香蕉| 热热色国产一二区AV| 国产在线能看的你懂的| a网站免费观看| 麻豆区久久久久亚| av最新免费中文字幕| 天堂九九九九九九九九九| 国产91丝袜 在线播放| 国产浮力影院第1页| 丝袜喷水在线| 91成人18| 国产欧美伊人| 91痴汉| 亚洲国产精品无码AV在线| 啊啊啊啊啊在线视频| 欧美精品,四区。五区| 精品少妇人妻av久久免费| 欧美天堂日韩三级国产传媒| 好爽免费视频| 嗯嗯,啊啊,国产精品| 亚洲人天堂| 亚洲色图超碰在线| 人人操人人93| 欧美在线伊人色| 日韩亚洲欧美中文字幕| 日本精品88888888| 欧美性第一页| 夜夜狼人妻| 国产精品又黄又猛又粗| 亚洲色图超碰在线| 97天堂| 美国美女AV在线| 成人国产二区三区在线,男女精品。| 在线国产探花| 久久无码精品| 日韩国产品视频中文字| 欧洲黄色网| 性爱久久| 十八禁啪啪视频| 蜜桃精品一区二区三区ww| 加勒比色99999| 69精品人人人人| 黄色工厂这里只有精品| 欧美成人9797| 20cm女自慰在线日韩欧美| 日韩精品高清资源在线| 一级做a爰片久久毛片图片| 熟妇精品juliaannAV| 大香蕉伊人网| 久偷拍| 人妻偷拍一区二区三区| 亚洲日韩青青草色月| 久热在线精品免费观看| 少妇专区一二三四五| 亚洲精品一二牛牛| 国产一| 色狠狠色| 国产h小视频在线观看免费| 天天综合有色网| 免费的很黄很污的全部视频| 99精品综合久久久久五月天| 午夜120视频在线观看| 9超碰免费| 国产亚洲精品美女久久久久久2021| 亚洲日本天堂| 看日韩美女二区三区免费操逼视频| 中文字幕一区二区三区人妻不卡 | 九月色婷婷| 中文字幕三四区| 亚洲中文电影| 丰满的三级少妇欧美久久久| 91亚洲人| 天天舔天天日天天射| 欧美在线永久天堂| 人妻加勒比东京热| V A在线| 青青草视频爽一爽| 日韩视频精品在线观看| 激情小说亚洲图片| 五月婷婷影院| 性久久| 怡红院成人视频| 亚洲色欲一区二区三区| 日本熟妇人妻中出视频| 性综合网| 99热日| 黄页大片在线观看| 国产小黄片在线免费观看| 欧美激情区| 久久一二三四五六七八九区区| 精品一啪| 黑人娇小av在线播放| 久久日本熟妇熟色高清| 国产无套粉嫩白浆在| 婷婷三区| 午夜男女爽爽大片免费观看| 天干天干天干天天做| 日韩欧美亚洲一区二区三区影院| 亚洲福利影院一区久久| 日韩精品一区,二区 九九...老司机| 日本色婷婷| 九月激情婷婷| 国产精品乱码久久久久| 97精品国产精品免费观看| 亚洲欧美中文日韩视频中国语| 国产女大学生AV| 91欧美巨乳| 亚洲图片欧美制度| 六月激情网| 岛国爱情动作片在国产AV无码专区亚洲AV漫画| 俺也射| 青青草伊人久久| 色欲日韩欧美在线一区| 欧美激情性久久久久久| 青青草福利视频| 日本一片一区| 丝袜AV一二三区| 天天日B夜夜干B时时操B| 国产女大学生AV| 久久久久久人| 99re在线精品78| 亚洲av热热色| 丰满人妻-区二区三区免费| 一区二区三区免费岛国片| 凹凸精品熟女在线观看| 国产精品另类| 五月天人妻综合| 狠狠夜色午夜久久综合在线| 99青草| 欧美99| 精品区国产区一区二区三区| 中国国产精品一区视频| 一级AV性爱| 九九九九免费| 啊啊啊免费| 一本大道久| 狠狠操狠狠燥| 色香综合天天影视综合 | 国产一区二区欧美日本| 性久久| 男女激烈网站最新| 国产最火爆久久国产网站网站| 五十路一区无码| 亚洲骚男同com| 欲色啪| 男人久久精品| 91激情网| 亚洲日韩欧美一区二区| 欧美少妇性乱| 久久亚码| 天天天堂影视日韩亚洲91| 中文字幕少妇色| 国产女生在线| 秋霞一集毛片观看| 中文字幕97| 91综合天天看| 成人九九| 好涩综合| 91精品国产一区三一| 亚洲色图欧美色18直播在线| 亚欧美色| 国产一国产一级毛片古装| 国产一国产一级毛片古装| 激情综合网亚洲| 免费精品国偷自产在线在线| 日韩欧美操逼xxx| 国产精品麻豆免费视频| 一级特黄aaa大片在线观看成人一级片在线观看 | 国产欧美日产一区二区三区 - 国产欧美日| 久久精品夜色国产亚洲AV| 久草男人天堂| 蜜桃精品一区二区三区久在线| 蜜桃色院一区久久| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 91久久18禁| 亚洲精品1区| 亚洲色图加勒比| 日本一天色道久久久精品视频| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 国产品精品自在在线午夜免费| 天天影视网色欲色香| 大香交| 日韩人妻无码不卡网站| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 免费一级a毛片久久久久久鸭绿欲 国产精品亚洲天堂网址 | 国产精品香蕉热久久新品| 久久天天艹| 日本人人操人人操| 91日韩在线| 国产精品大香蕉| 激情五月天网站| 国产刺激视频| 中文字幕88av在线| 九久久精品| 日韩熟女精一区二区三区不卡| 亚洲精品久久久久毛片A片拉屎 | 中国黄色特级精品一区二区三区片| julia ann久久| 日本熟妇人妻一区二区三区| 亚洲黄色视频在线观看视频| 久久99午夜精品一区人妻| 免费观看的av| 69视频福利导航| 人乳av| 校园春色 欧美| 亚洲综合另类小说色区亚洲成av人片在www| 夜嗨影院| 午夜天堂精品久久久久91| 欧美图片色综合| 天天影视之亚洲综合网| 亚洲色图日韩丝袜制服一区二区五月在线 | 26uuu性物| 韩国一级做A片免费的| 日韩在线观看中文字幕视频| 伊人久久88国产女| 欧天美中出| 99re28在线观看| 18禁无码永久免费无限制| 欧美一区二区亚洲天堂| 黑人天8A∨高清网站| 日韩欧美偷拍美女视频| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 国产三级片在线观看| 日本无码1| 久久精品国产精品亚洲艾通辽熟妇 | 四虎精品亚洲| 欧美一区二区三区四区综合| 思思热在线| 国产精品久久久九九九| 日韩福利电影网| 啊视频在线| 青青草白白色| 神马久久午夜| 亚洲欧美日韩综合在线尤物| 精品人妻夜夜草| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 亚洲 日韩 欧美 国产综合体| 亚洲色图国产另类| 国产熟女精品一区二区| 人人透人人操| 蘋果手機免費看成人Av| 俺去啦俺来也久久综合 | 啊啊啊好大好湿| 91综合在线| 婷婷五月激情综合| 久久99深爱久久99精品| 自拍偷拍 日韩欧美| 熟女精品一区二区三区| 男人的天堂日韩| 尤物网址| 人人扣人人操| 9色国产精品一区粉嫩| 日韩国产中文字幕| 青青草乱入乱欲视频在线观看| 亚洲精品99999| 超碰成人免费| 国产精品网站www| 丁香色狠狠色综合久久小说| 青青草日韩无码| 好看的久久不射无码影视影院| 深夜福利黄片| 男人的天堂2019AV| 久久97精品久久久久久久不卡| 日韩免费性爱视频在线观看| 久久久久久亚洲精品不卡人乳| av草草在线电影| av网页一区二区三区| 91美女视频在线| 肉动漫无遮挡h在线观看| 曰韩精品九九无码| 久热这里只有精品9| 激情九月婷婷| 伊人宅男大香蕉| 91呆哥人妻| 精品无码一区二区三区| 日本高清一区二区在线| 密臀国产在线| 97欧美性爱| 中文子幕一二三| 亚洲av淫乱| 老司机久久| 无码精品久久久天天影视| 亚州色国| 少妇高潮对白在线观看| 超碰97资源网亚洲| 91丨九色丨国产打屁股| 欧美东京热青青草| 精品少妇后入一区二区三区四区人妻巨乳 | 综合网亚洲在线| 五月婷婷激情综合| 欧美在线啊啊| 人妻夜夜爽天天爽麻豆三区网站 | AV综合中文字幕干| 91狠狠综合久久| A V少妇特黄三级| 精品高潮| 99九九久久| 久草国产在线视频| 公司1区2区3区精产精| 欧美顶级黄片AAAAA在线免费看| 亚洲脚交| 中文字幕五区| 亚洲黄色视频在线观看视频| 极品后入免费视频| 国产又黄又爽又刺激久久久久久| 亚洲欧洲第二视频在线观看色图| 久久精品国产96精品亚洲拳交| 麻豆天天躁天天揉揉AV| 欧美亚涩| 久久伊人最新网址视频| 中文字幕在线观看AV| 日韩免费三级黄片电影| 四虎免费视频| 日本人体九九九九九九| 99亚洲精品| 91伊人久久在线| 久久激情视频| 亚洲日韩av专区无码| av线电影| 激情五月婷婷| 91在线秘 男同| 色娱乐色呦呦夜夜夜夜av| 日韩久久激情精品| 中文字幕丰满子伦无码专区在线视频最新 | 国产肏屁眼视频| 91精品伊人久久久大香线蕉91| 大逼色网站| 99999精品成人| 国产浮力影院第1页| 91欧美综合| 日本人体九九九九九九| 91一区二区三区蜜桃| 亚洲AV在线资源| 欧美黄页在线| 久久成人午夜精品影院| 欧美精品庄| 人妻无码久久一区二区三区免费| 人妻-91porn| 日本不卡在线二区三区| 夜夜爽爽夜夜精品视频| 先锋精品av色鲁| 乱伦a片视频| 变态综合色| 欧美在线55555| 看日韩美女二区三区免费操逼视频 | 猛交交| 91天美| 亚洲Av无码成人精品国产| 2017天天拍大香蕉| 欧美激色| 手机在线观看不卡无码av| 欧美精品庄| 超碰天天操你比| 欧美精品99久久久| 精品亚洲黄色片 国产精品导航一区二区| 98超碰欧美| 亚洲网污污污污| 尻女朋友一夜| 中国探花熟女| 国产女大学生AV| 骚鸭AV| 99色婷婷中文字幕乱色| 嗯嗯啊操我| 在线观看黄色电话| 天天懆天天日| 天天色综合影视网| 国产传媒1234区| 亚洲91极品| 黄片www.| 再深点灬舒服灬太大了添视频| 中文字幕后石码四区五区| 亚洲91综合| 黑丝少妇在线观看| 日韩少妇一区二区三区| 欧美性爱91| 日韩一级欧美一级国产一级台湾 | 台湾佬中文娱乐自偷自拍| 成人av免费观看| 91动漫操逼视频| 色色网91| 欧美自拍网| 裸体1区| 91丝袜美腿网站| 久久精品99| 欧美黑人精品在线播放| 亚洲日韩电影| 97久操| 殴洲老熟女| 天美传媒av 在线| 99无码精品| 亚洲午夜福利在线影院| 九九综合九九综合| 日韩九九九| 97久操| 久久日韩肥臀| 蜜汁欧美| 一本大道青青| 中文字幕诱惑制服人妻丝袜美丝袜美| 久久国99999| 狼人久草| 九月色婷婷| 99re在线观看| 久久97| 婷婷综合久久| 秋霞曰韩R级| 日韩免费看黄片| 国产福利影视| 亚洲砖码砖专无区2023| 久草福利在线资源站| 国产传媒操逼视频| 日韩激情小说一区二区| 无码操逼网| 欧美日韩国产黄色片| ..日韩av毛片精品久久久| 欧美日韩国产三级黄色| 韩国毛片一区二区三区| 欧美国产操逼| 久久久久96| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 国产和美国毛片| 男人的天堂日韩| 精品一区二区2| 天天干人人乐| 精品亚洲| 久久精品国内Av熟女高清| 人人操人人操人人人操| 久久久久久国产无码精品| 日本在线视频导航| 国产这里只有精品| 性爱久久| 婷婷丁香六月| 嗯嗯啊操我| 国产精品美女久久久久AⅤ国产馆| 国产精品情侣啪啪| 搡老女人老妇女老妇老熟女怎么读| 日韩中字av一区| 青青草手机在线免费观看| 一区| 少妇特黄一区二区三区| 少妇久久久免费| 久久久少妇诱惑精品视频| 2019男人的天堂| 92久久| 精品无码一区二区三区色欲| 影视综合无码少妇| 深夜激情无码| 婷婷丁香五月综合| 国产激情在线| 亚码激情| 97精品第3页| 一本色道久久综合亚洲二区三区| 操人妻视频| AV一起草在线| 亚洲午夜福利视频| 亚欧精品久久久久久久久久久| 久久视网78| 蜜臀久久99'精品久久久| 日日摸日日碰夜夜爽视频| 爱妃国产亚洲视频中文字幕| 国产色呦呦| 欧美日韩99精品麻豆传媒| 青青草乱入乱欲视频在线观看| WWW美腿丝袜香蕉中文| 丁香九月婷婷| 日本东京热加勒比久久| JULIA一区二区三区在线播放| 五月婷婷六月丁香| 欧美熟女妇同| 凌辱美少妇久久aV| 隔壁邻居波多野结衣中文字幕| 日韩免费性爱视频在线观看| 成人熟女视频一区二区三区| 夜夜操夜夜高潮夜夜爽国产精品区| 91五十路| 亚洲情色中文字幕一区| 久草久热| 亚洲文学偷乱拍啪啪啪啪| 精品99999| 亚洲AV无码国产精品久久久久| 天天综合AV| 岛国不卡超碰护士AV在线播放| 久艹视频在线| 免费一级性爱久久| 五月丁香综合网| 久久草视频污视频| 国产精品免费久久久久久久久久| 久久这里是精品| 精品少妇一区二区三区免费观看| 亚洲欧洲无码一区夜| 色姑娘综合网| 五月色网| 偷拍色图| 欧美精品三级黄片| 青娱乐久久艹| 精品国产乱码久久久久久影片| 丝袜内射| 91丰满| 乱伦AVxx| 欧美在线伊人色| 91草草草| 97超碰人人模人人拍人人| 色婷婷狠狠18禁| 中文字幕伊人| 中文字幕精品一区二| 久久这里只精品99re66图| 操死我了嗯嗯嗯| 色牛aV| 无码又爽又硬又激情免费视频| 欧美激色| 国产日韩精品无码去免费专区国产| 一本一道人妻久久一区二区三区| 天天天操天天天爱| 乱伦a片视频| 精品国产网站| 少妇一区二区三区| 97天堂| 夜夜嗨TV| 操逼网免费无码视频| 是还免费视频1727我| 日本不卡一区| 午夜高清成人在线视频| 久久视频少妇美女| 精品午夜福利国产一区二区在线观看| 欧美综合第一| 91久久久久久久久18| 91丨九色丨东北熟女| 超碰综合97在线| 国产自制av蜜乳| 好吊色在线观看| 国产路线专区| 亚洲久热| 啊啊啊啊好疼| www.久久99| 欧美色图欧美| 丁香六月啪| 欧美96交| 五月婷婷爱六月丁香色| 日本熟妇自慰性高潮一区二区三区| 熟妇的味道HD中文字幕| 99re6久热只有精品6在线直播| 亚洲人天堂| 95人妻爽爽人人做人人澡| 亚洲文学偷乱拍啪啪啪啪 | 夜夜夜久久| 亚洲日韩电影| 日韩有码一区三区| 91爱| 久久久久精| 久久亚洲AV无码白度| 四虎永久在线精品免费网址| 人人人干干人人干| 不卡九肏| 国产男女边吃边摸视频网站| 亚洲色图加勒比| 丰满人妻一区二区三区性色| 亚洲欧洲久久天堂| 国产精品久久久久亚洲av| 九九国产热| 熟女字幕| 亚洲精品蜜桃久久久| 91GD.COM| 亚洲一区二区中文字幕| A久久| 亚洲日韩天堂| 中文字幕免费观看| 中国大陆国产高清AⅤ毛片| 亚洲性综合| 日本三级日本三级99| 伦理第一页| 久久不卡一区二区| 草草影院最新网址| 欧美激情黑人| 影音先锋乱| 蜜臀AV一区二区三区| 亚洲 91 在线| 立川理惠被中出无码| 欧美91精彩| 日韩乱伦视频| 国产精品一区二区麻豆| 亚洲精品丝袜-不卡成人免费……| A 天堂| 伊人991| 国产欧美一区激情交| 人妻喷水| 97资源制服丝袜| 无码精品久久| 人伦四五区| 91在线色综合| 色操逼网| 天堂涩涩| 九九九九九九九精品视频| 一道α片欧美| 插入粉嫩少妇视频| 啊啊啊好爽快点啊啊啊嗯嗯| 欧美成人A√在线一区二区| 国产精品suv一区| 日韩乱伦视频| 97日韩| 超碰98综合网| 九九综合久久| 综合另类| 亚洲日本天堂| 亚洲 欧美 中文 日韩超碰| 一区二区三区黄色片a| 欧美日韩制服| 久久9 9 9精品| 黄片免费看黄片免费看| 亚洲欧美人妻| 久久亚洲色图中文字幕| 九九热AV| 成年人黄色| 农村妇女精品一区二区| 99亚洲天堂| 伊人久久综合影院| 97亚洲在线| 成人欧美日超碰| 看日韩美女二区三区免费操逼视频| 亚洲婷婷综合网| 九九超碰综合网| 丰满少妇一区二区三区四区观看| 国产精品久久久久久久毛片1| 清纯唯美亚洲综合| 啊啊啊啊啊好舒服视频| 五月天黄色av| 国产高潮AA片免费看| 国产美女口爆吞精视频| 96超碰网| 啊啊啊好舒服视频在线观看| 精品成人av一区二区三区在线| 蜜乳中文字幕a在线| 亚洲欧美综合图片| 淫骚熟女一区二区三区| 久久精品一区二区三区不卡| 熟女精品va中文字幕| 国产精品午夜AV完会免费 | 97精品中文字幕| 97玖玖人妻| 五月天色色网站| 成人麻豆av电影网站| 亚洲综合999| 久久久久九九九九九| 久久不卡一区二区| 五月天激情小说| 亚洲国产麻豆一区二区三区| 色欲天天婬色婬香WWW夜色| 亚洲欧美97√| 性九九九九九九| 热久久九九热| 能看的AV| 91人妻素女| 十八禁视频一区二区| 大鸡巴久久| 国产精品久久久久久久久久久久久久久久 | 很很干很很操| 久草免费在线一区二区| 国产人妖的免费的视频| 中文字幕国产在线天堂| 91丝袜视频在线观看| 超碰97综合网| 国产精品一级二级在线| 国产乱人妻精品入口| 日欧美色| 久久99黄色卞西瓜| 3p国产色噜噜一区| 两性色网| 综合久久久久久久综合网| 午夜男女爽爽爽影院视频| 2019天天干| 久久精品久久久久久久| 超碰吊日色| 伊人久久亚洲色欲综合网站 | 国产妇女精品视频青青草| 超碰97网址| 天天干天天日天天射黄色大片| 97超碰国产精品| 色色99| 日日爽夜夜爽| 亚州中文字幕超碰97| 亚洲欧美色图| 97色欧洲| 男人的天堂三级| 人妻人妻天天碰| 大吊色| 久久精品视频久久久| 玖色AV| 中亚av| 天天综合亚在线| 激激五月| 午夜120视频在线观看| 午夜欧美神马久久久久| 亚洲不卡av在线| 成人女人国产| 天天碰操中国年青熟妇| 亚洲最大91网| 日本有码影片下载| 桃花色涩综合影院| 久久久中文| 狠狠综合网| 亚州色交| 青青五月天| 91超级碰| 91久操| 亚洲 欧美 手机在线观看| 中日韩熟女| 懂色AV蜜臀无码精品APP | 免费看欧美美女黄色大片| 国产AV高清AV无码| 4399成人黄A片| 黄网色一区二区三区四区精品| 性爱边摸边日免费AV| 一区二区三区免费岛国片| 蜜桃av综合网发布| 97综合在线| 一本一道人妻久久一区二区三区| 乱日视频| www.高清无码诱惑一区.com | 动漫片子网站3黄| 九九九久久久久| 曰韩香蕉97| 九九九九免费高| 欧美,亚洲,日韩,v,天堂,手机在线观看| 美欧老女人97| 一区二区亚州激情久婷婷欧美 | 男人的天堂VA| 丰满欧美放荡少妇在线| 操老熟女AV| 97在线亚洲| 欧美自拍网| 丰满人妻一区二区三区色-百度| 97日韩| 欧美探花网| 在线观看日韩av不卡| 亚洲精品男人的天堂| 伊人AAA| 25国产精品免费观看| 色av中文字| 久久久专区| 婷婷国产精品一区二区| 国产无码成人无码| 欧美一区二区男人天堂| 国产亚洲精品农村妇女| 99视频内射三四| 丁香五月天婷婷姐| 亚洲999综合| 久久久久幕乱码| 国产精品久久久| а√天堂资源官网在线资源| 国产麻豆福利av在线播放| 在线播放中文字幕| 97久久超碰国产网站| 自拍第一页| 日韩性爱啪啪视频| 国产精品无码在线| 91在线欧色| 99热日| 婷婷情色综合网| 国产第二页| 久久久一二三四区| 91一区二区三区蜜桃| 欧美经典一区二区三区| 国产女人成人精品视频| 免费精品99| 97超碰资源网| 天天干18禁| 日韩卡一卡二卡三在线| 日本片日本片祼观看网站在线看中文版网页在线看 | 精品亚洲俞拍视频一区| 九九热精品视频六| 欧美第二页| 性久久| 欧美精品另类人妖xxxx| 青久久| 日韩AV噜噜噜一区二区三区四区| 蜜臀一区二区三区在线| 天天摸夜夜添无码小视频| 国产成人www免费人成看片| 91久久久久久久久久久| 亚洲综合贴图91| 91综合色噜噜| 大香网伊人久久综合| 天天天天天超碰| 色九九九九九九| 欧美探花网| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 呦女网站| 精品午夜福利| 黄色欧美性爱视频| 青青草九九九九九| 亚洲久久天堂| 不卡一区二区日本视频| yirendaxiangjiashipin| 九九九精品一区二区无码| 亚洲狠狠入| 一二三四视频中文字幕在线看| 久久精品国产亚洲AV无码电影| 少妇国产不卡| 久久免费9| 日韩中文字幕视频在线观看| 欧美青青视频| 午夜福利一区二区影院| AV天堂丝袜| 人人澡人人干| 五月天偷拍| 超碰97起碰| 超碰97人人乐| 操逼视频免费日韩无码| 美女裸体麻豆天美蜜桃91| 大香蕉中文在线| 亚洲天堂热| 亚洲激情色片| 最新亚洲人成网站在线影院| 国产日韩精品一区二区三区| 亚洲成人ab| 综合欧美日本三级| 操曰本熟女| 免费精品中文字幕| 躁躁日曰躁2020| 国产亚洲福利第一页丝袜| 亚洲性综合9| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 九九玖玖精品| 日1区2区3区2020| 可以在线观看AV的网站| 亚洲日韩熟女人妻高清在线| 国产又黄又粗的视频| 亚洲城人男人的天堂| 欧美一级二级三级| 国产成人亚洲精品无| 8050无码八戒| 激情久久日韩精品中文字幕麻豆| 免费伦费视频在线观看| 97丝袜亚洲在线播放| 欧洲精品二区| 国产91av在线播放| 欧美成人色| 在线播放一级无码视频| 久久精品国产精品| 高清无码 国产精品| 怡红院亚洲怡春院av| 亚洲黄网在哪免费看| 呦女网站| 激情接吻视频久久久久久| 天堂射| 户外裸露刺激视频第一区| 岛国不卡超碰护士AV在线播放| 在线看片国产精品每日更新| 欧美激色| 亚洲九九夜夜| 欧美黑人熟妇精品91| 亚洲A色| 激情抓乳插进去啪啪啪日韩| 九九九九九用不成了| 欧美人妻久久精品二区三区| AV有码在线|