Buckets:
| import fs from "fs/promises" | |
| import os from "os" | |
| import { Effect, Layer } from "effect" | |
| import { FSUtil } from "@opencode-ai/core/fs-util" | |
| import { EffectFlock } from "@opencode-ai/core/util/effect-flock" | |
| import { Global } from "@opencode-ai/core/global" | |
| type Msg = { | |
| key: string | |
| dir: string | |
| holdMs?: number | |
| ready?: string | |
| active?: string | |
| done?: string | |
| } | |
| function sleep(ms: number) { | |
| return new Promise<void>((resolve) => setTimeout(resolve, ms)) | |
| } | |
| const msg: Msg = JSON.parse(process.argv[2]) | |
| const testGlobal = Global.layerWith({ | |
| home: os.homedir(), | |
| data: os.tmpdir(), | |
| cache: os.tmpdir(), | |
| config: os.tmpdir(), | |
| state: os.tmpdir(), | |
| bin: os.tmpdir(), | |
| log: os.tmpdir(), | |
| }) | |
| const testLayer = EffectFlock.layer.pipe(Layer.provide(testGlobal), Layer.provide(FSUtil.defaultLayer)) | |
| async function job() { | |
| if (msg.ready) await fs.writeFile(msg.ready, String(process.pid)) | |
| if (msg.active) await fs.writeFile(msg.active, String(process.pid), { flag: "wx" }) | |
| try { | |
| if (msg.holdMs && msg.holdMs > 0) await sleep(msg.holdMs) | |
| if (msg.done) await fs.appendFile(msg.done, "1\n") | |
| } finally { | |
| if (msg.active) await fs.rm(msg.active, { force: true }) | |
| } | |
| } | |
| await Effect.runPromise( | |
| Effect.gen(function* () { | |
| const flock = yield* EffectFlock.Service | |
| yield* flock.withLock( | |
| Effect.promise(() => job()), | |
| msg.key, | |
| msg.dir, | |
| ) | |
| }).pipe(Effect.provide(testLayer)), | |
| ).catch((err) => { | |
| const text = err instanceof Error ? (err.stack ?? err.message) : String(err) | |
| process.stderr.write(text) | |
| process.exit(1) | |
| }) | |
Xet Storage Details
- Size:
- 1.58 kB
- Xet hash:
- 341e339b96af746c7f6190561901de5716dc5ddd8f60f109d0d55aa2b977adb8
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.