Watch sandbox directory for changes
You can watch a directory for changes using the files.watchDir()
method in JavaScript and files.watch_dir()
method in Python.
import { Sandbox, FilesystemEventType } from '@e2b/code-interpreter'
const sandbox = await Sandbox.create()
const dirname = '/home/user'
// Start watching directory for changes
const handle = await sandbox.files.watchDir(dirname, async (event) => {
console.log(event)
if (event.type === FilesystemEventType.WRITE) {
console.log(`wrote to file ${event.name}`)
}
})
// Trigger file write event
await sandbox.files.write(`${dirname}/my-file`, 'hello')
Recursive Watching
You can enable recursive watching using the parameter recursive
.
When rapidly creating new folders (e.g., deeply nested path of folders), events other than CREATE
might not be emitted. To avoid this behavior, create the required folder structure in advance.
import { Sandbox, FilesystemEventType } from '@e2b/code-interpreter'
const sandbox = await Sandbox.create()
const dirname = '/home/user'
// Start watching directory for changes
const handle = await sandbox.files.watchDir(dirname, async (event) => {
console.log(event)
if (event.type === FilesystemEventType.WRITE) {
console.log(`wrote to file ${event.name}`)
}
}, {
recursive: true
})
// Trigger file write event
await sandbox.files.write(`${dirname}/my-folder/my-file`, 'hello')