Compare commits

...

13 Commits

Author SHA1 Message Date
Nathan c9b9ddd338 manager backup mar 2026-03-02 11:12:42 -07:00
Nathan b66c7b1238 specst 2026-02-10 16:27:40 -07:00
Nathan 1109002407 sqlite
I've been keeping everything after 1/8 cuz that's when we swapped to shaman, but I want to do it on the 1st of the month going forward.
2026-02-10 10:25:44 -07:00
Nathan f9273a635a specst 2026-01-30 17:16:44 -07:00
Nathan e47f9885e5 specst 2026-01-28 14:30:11 -07:00
Nathan 22fde0b0c4 specst 2026-01-28 12:46:30 -07:00
Nathan d42331d932 map glacier to G:\ 2026-01-09 13:02:26 -07:00
Nathan ca5a5b23fe fully fix shaman 2026-01-09 11:44:49 -07:00
Nathan 2072a13e6f final bug report 2026-01-09 10:33:01 -07:00
Raincloud e53c9270c1 success at home 2026-01-08 19:10:26 -07:00
Nathan ef6e9a4bb8 attempt shaman setup 2026-01-08 16:40:40 -07:00
Nathan a0ff6822a3 purge everything >1month 2026-01-08 10:17:47 -07:00
Nathan 32dc48c7d4 change flamenco location 2025-12-17 16:44:31 -07:00
11 changed files with 29043 additions and 9 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,556 @@
<!-- Generated by SpecStory, Markdown v2.1.0 -->
<!-- cursor Session ce0482b1-b455-4f1b-bdb4-685ed183c431 (2026-01-09 18:37Z) -->
# Nexus Flamenco manager batch script (2026-01-09 18:37Z)
_**User**_
context:@.specstory/history/2026-01-08_17-28Z-shaman-symlinking-for-windows-samba.md @.specstory/history/2026-01-08_23-42Z-windows-symlinking-error.md @.specstory/history/2026-01-09_18-22Z-nexus-manager-access-issue.md
@ssh (82-117)
i need you to create a batch that:
1. ssh nexus
2. cd to /mnt/PHOENIX/flamenco/software/Flamenco
3. run the flamenco manager (linux executable)
---
_**Agent (model default, mode Agent)**_
Creating a batch file to SSH to nexus, change to the Flamenco directory, and run the manager. Checking existing batch files for style:
---
<tool-use data-tool-type="read" data-tool-name="read_file_v2">
<details><summary>Tool use: **read_file_v2** • Read file: c:\Users\Nathan\Desktop\flamenco\unified_flamenco_launcher.bat</summary>
</details>
</tool-use>
---
<tool-use data-tool-type="read" data-tool-name="read_file_v2">
<details><summary>Tool use: **read_file_v2** • Read file: c:\Users\Nathan\Desktop\flamenco\unified_sheepit_launcher.bat</summary>
</details>
</tool-use>
---
Creating a batch file to SSH to nexus and run the Flamenco manager:
---
<tool-use data-tool-type="write" data-tool-name="edit_file_v2">
<details><summary>Tool use: **edit_file_v2** • Edit file: c:\Users\Nathan\Desktop\flamenco\nexus_flamenco_manager.bat</summary>
</details>
</tool-use>
---
Created `nexus_flamenco_manager.bat`. It:
1. Connects to nexus via SSH
2. Changes to `/mnt/PHOENIX/flamenco/software/Flamenco`
3. Runs `./flamenco-manager`
The batch file uses a single SSH command that chains the directory change and execution. Double-click the batch file to run it, or run it from the command line.
---
_**User**_
@unified_flamenco_launcher.ps1:59-68 currently, we have A, F, N, and P drives mapped. Can we also map \\NEXUS\glacier to G:\ ?
---
_**Agent (model default, mode Agent)**_
Reviewing the script to see how drive mappings are handled:
---
<tool-use data-tool-type="read" data-tool-name="read_file_v2">
<details><summary>Tool use: **read_file_v2** • Read file: c:\Users\Nathan\Desktop\flamenco\unified_flamenco_launcher.ps1</summary>
</details>
</tool-use>
---
Adding the G: drive mapping for `\\NEXUS\glacier` in all three remote command functions. Updating each:
---
<tool-use data-tool-type="write" data-tool-name="edit_file_v2">
<details><summary>Tool use: **edit_file_v2** • Edit file: c:\Users\Nathan\Desktop\flamenco\unified_flamenco_launcher.ps1</summary>
</details>
</tool-use>
---
<tool-use data-tool-type="write" data-tool-name="edit_file_v2">
<details><summary>Tool use: **edit_file_v2** • Edit file: c:\Users\Nathan\Desktop\flamenco\unified_flamenco_launcher.ps1</summary>
</details>
</tool-use>
---
Updated the script to map `\\NEXUS\glacier` to `G:\`. Changes:
1. Added `'G:'` to the `$drives` array in all three remote command functions
2. Added `'\\NEXUS\glacier'` to the `$networkPaths` array in all three functions
3. Added the mapping command `net use G: \\NEXUS\glacier /persistent:yes` after the NEXUS connection is established
The G: drive will be:
- Disconnected during cleanup (along with A:, F:, N:, and P:)
- Mapped when connecting to NEXUS (along with A:, F:, and P:)
All three worker command functions (`Get-RemoteStandardWorkerCommand`, `Get-RemoteCmdWorkerCommand`, and `Get-RemoteSimplifiedCmdWorkerCommand`) now include the G: drive mapping.
---
_**User**_
good, but we also need to apply this to CMD workers, too.
---
_**Agent (model default, mode Agent)**_
Checking the current state of the CMD worker functions to ensure the G: drive mapping is applied:
---
<tool-use data-tool-type="read" data-tool-name="read_file_v2">
<details><summary>Tool use: **read_file_v2** • Read file: c:\Users\Nathan\Desktop\flamenco\unified_flamenco_launcher.ps1</summary>
</details>
</tool-use>
---
Checking the simplified CMD worker command function:
---
<tool-use data-tool-type="read" data-tool-name="read_file_v2">
<details><summary>Tool use: **read_file_v2** • Read file: c:\Users\Nathan\Desktop\flamenco\unified_flamenco_launcher.ps1</summary>
</details>
</tool-use>
---
Verifying the standard worker function for consistency:
---
<tool-use data-tool-type="read" data-tool-name="read_file_v2">
<details><summary>Tool use: **read_file_v2** • Read file: c:\Users\Nathan\Desktop\flamenco\unified_flamenco_launcher.ps1</summary>
</details>
</tool-use>
---
All three worker command functions already include the G: drive mapping:
1. **Standard Worker** (`Get-RemoteStandardWorkerCommand`) - line 94
2. **CMD Worker** (`Get-RemoteCmdWorkerCommand`) - line 159
3. **Simplified CMD Worker** (`Get-RemoteSimplifiedCmdWorkerCommand`) - line 230
All three also include:
- `'G:'` in the `$drives` array
- `'\\NEXUS\glacier'` in the `$networkPaths` array
- The mapping command `net use G: \\NEXUS\glacier /persistent:yes`
The changes were applied to all functions, including both CMD worker functions. If you see something missing, point me to the specific location and Ill fix it.
---
_**User**_
ah, most of them are working, but echo and i9-13ks are not.
Launching CMD worker for echo
Connecting to echo (CMD mode)...
Setting up network connections...
Disconnecting existing network connections...
A: was deleted successfully.
F: was deleted successfully.
N: was deleted successfully.
P: was deleted successfully.
All network connections cleared.
Establishing network connections...
The command completed successfully.
The command completed successfully.
The command completed successfully.
System error 85 has occurred.
The local device name is already in use.
The command completed successfully.
The command completed successfully.
Current network connections:
New connections will be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
OK A: \\NEXUS\amazon Microsoft Windows Network
OK F: \\NEXUS\flamenco Microsoft Windows Network
OK N: \\NAS\amazon Microsoft Windows Network
OK P: \\NEXUS\proj Microsoft Windows Network
OK \\NEXUS\amazon Microsoft Windows Network
The command completed successfully.
Launching CMD worker for i9-13ks
Connecting to i9-13ks (CMD mode)...
Setting up network connections...
Disconnecting existing network connections...
A: was deleted successfully.
F: was deleted successfully.
N: was deleted successfully.
P: was deleted successfully.
All network connections cleared.
Establishing network connections...
The command completed successfully.
The command completed successfully.
The command completed successfully.
System error 85 has occurred.
The local device name is already in use.
The command completed successfully.
The command completed successfully.
Current network connections:
New connections will be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
OK A: \\NEXUS\amazon Microsoft Windows Network
OK F: \\NEXUS\flamenco Microsoft Windows Network
OK N: \\NAS\amazon Microsoft Windows Network
OK P: \\NEXUS\proj Microsoft Windows Network
Y: \\sshfs.r\talmage@10.1.10.3!1923\mnt\BACKUP01
WinFsp.Np
Z: \\sshfs.r\talmage@10.1.10.3!1923\mnt\ARCHIVE01
WinFsp.Np
OK \\NEXUS\amazon Microsoft Windows Network
The command completed successfully.
Running Flamenco worker...
---
_**Agent (model default, mode Agent)**_
G: isn't being deleted during cleanup, and the mapping fails with "System error 85" (already in use). Checking the script to ensure G: is included in the cleanup and mapping:
---
<tool-use data-tool-type="unknown" data-tool-name="ripgrep_raw_search">
<details>
<summary>Tool use: **ripgrep_raw_search**</summary>
Parameters:
```json
{
"pattern": "\\$drives = @",
"path": "c:\\Users\\Nathan\\Desktop\\flamenco\\unified_flamenco_launcher.ps1",
"caseInsensitive": false
}
```
Result:
```json
{
"success": {
"pattern": "\\$drives = @",
"path": "c:\\Users\\Nathan\\Desktop\\flamenco\\unified_flamenco_launcher.ps1",
"outputMode": "content",
"workspaceResults": {
"C:\\Users\\Nathan\\Desktop\\flamenco": {
"content": {
"matches": [
{
"file": "unified_flamenco_launcher.ps1",
"matches": [
{
"lineNumber": 61,
"content": "$drives = @('A:', 'F:', 'G:', 'N:', 'P:')"
},
{
"lineNumber": 135,
"content": "$drives = @('A:', 'F:', 'G:', 'N:', 'P:')"
},
{
"lineNumber": 206,
"content": "$drives = @('A:', 'F:', 'G:', 'N:', 'P:')"
}
]
}
],
"totalLines": 3,
"totalMatchedLines": 3
}
}
}
}
}
```
Status: **completed**
</details>
</tool-use>
---
<tool-use data-tool-type="unknown" data-tool-name="ripgrep_raw_search">
<details>
<summary>Tool use: **ripgrep_raw_search**</summary>
Parameters:
```json
{
"pattern": "net use G:",
"path": "c:\\Users\\Nathan\\Desktop\\flamenco\\unified_flamenco_launcher.ps1",
"caseInsensitive": false
}
```
Result:
```json
{
"success": {
"pattern": "net use G:",
"path": "c:\\Users\\Nathan\\Desktop\\flamenco\\unified_flamenco_launcher.ps1",
"outputMode": "content",
"workspaceResults": {
"C:\\Users\\Nathan\\Desktop\\flamenco": {
"content": {
"matches": [
{
"file": "unified_flamenco_launcher.ps1",
"matches": [
{
"lineNumber": 94,
"content": " net use G: \\\\NEXUS\\glacier /persistent:yes"
},
{
"lineNumber": 159,
"content": " net use G: \\\\NEXUS\\glacier /persistent:yes"
},
{
"lineNumber": 230,
"content": " net use G: \\\\NEXUS\\glacier /persistent:yes"
}
]
}
],
"totalLines": 3,
"totalMatchedLines": 3
}
}
}
}
}
```
Status: **completed**
</details>
</tool-use>
---
G: is in the arrays, but it's not being deleted on those machines, likely because it's already mapped. Adding explicit G: deletion before mapping and improving error handling:
---
<tool-use data-tool-type="read" data-tool-name="read_file_v2">
<details><summary>Tool use: **read_file_v2** • Read file: c:\Users\Nathan\Desktop\flamenco\unified_flamenco_launcher.ps1</summary>
</details>
</tool-use>
---
Adding explicit G: deletion before mapping in all three functions to handle cases where G: is already mapped:
---
<tool-use data-tool-type="write" data-tool-name="edit_file_v2">
<details><summary>Tool use: **edit_file_v2** • Edit file: c:\Users\Nathan\Desktop\flamenco\unified_flamenco_launcher.ps1</summary>
</details>
</tool-use>
---
Added explicit deletion of G: and the `\\NEXUS\glacier` path right before mapping in all three worker command functions. This should resolve the "System error 85" (already in use) on echo and i9-13ks.
The script now:
1. Deletes G: explicitly before mapping (even if it's already mapped)
2. Deletes the `\\NEXUS\glacier` network path before mapping
3. Then maps G: to `\\NEXUS\glacier`
This ensures any existing G: mapping is cleared before creating the new one. The `2>$null` suppresses errors if G: isn't already mapped, so it works whether G: is mapped or not.
---
_**User**_
I think it's because there are local external usb devices mapped to G:\. I probably need to ask these users to remap or temporarily remove those drives
Launching CMD worker for echo
Connecting to echo (CMD mode)...
Setting up network connections...
Disconnecting existing network connections...
A: was deleted successfully.
F: was deleted successfully.
N: was deleted successfully.
P: was deleted successfully.
All network connections cleared.
Establishing network connections...
The command completed successfully.
The command completed successfully.
The command completed successfully.
System error 85 has occurred.
The local device name is already in use.
The command completed successfully.
The command completed successfully.
Launching CMD worker for i9-13ks
Connecting to i9-13ks (CMD mode)...
Setting up network connections...
Disconnecting existing network connections...
A: was deleted successfully.
F: was deleted successfully.
N: was deleted successfully.
P: was deleted successfully.
All network connections cleared.
Establishing network connections...
The command completed successfully.
The command completed successfully.
The command completed successfully.
System error 85 has occurred.
The local device name is already in use.
The command completed successfully.
The command completed successfully.
---
_**Agent (model default, mode Agent)**_
G: is mapped to a local USB device on those machines, so `net use G: /delete` won't work (it only deletes network drives). The mapping then fails because G: is already in use.
Options:
1. Use a different drive letter for glacier (if available)
2. Add error handling to make the G: mapping non-fatal so the worker continues even if it fails
3. Check if G: is a network drive before attempting deletion/mapping
Since you'll coordinate with those users, I can add error handling so the script continues if G: mapping fails. Should I add that, or do you prefer to resolve it with the users first?
---
<tool-use data-tool-type="read" data-tool-name="read_file_v2">
<details><summary>Tool use: **read_file_v2** • Read file: c:\Users\Nathan\Desktop\flamenco\unified_flamenco_launcher.ps1</summary>
</details>
</tool-use>
---
Adding error handling so G: mapping failures are non-fatal and the script continues:
---
Cancelled
---
File diff suppressed because one or more lines are too long
@@ -0,0 +1,576 @@
<!-- Generated by SpecStory, Markdown v2.1.0 -->
<!-- cursor Session f4873464-7309-4f68-98ed-50a1a2a0d30a (2026-02-10 22:00Z) -->
# Error in Blender file cleanup command (2026-02-10 22:00Z)
_**User**_
What's this error?
026-02-10T14:59:28-07:00 INF going to run: 'F:\software\Flamenco\tools\ffmpeg-windows-amd64.exe' -f concat -safe 0 -i 'A:\1 Amazon_Active_Projects\260206_PAE_2026\Blends\animations\blast\PAE_animation 1H\ffmpeg-file-index.txt' -c:v h264_nvenc -preset medium -rc constqp -qp 20 -g 18 -vf 'pad=ceil(iw/2)*2:ceil(ih/2)*2' -pix_fmt yuv420p -r 24 -y -r 24 'A:/1 Amazon_Active_Projects/260206_PAE_2026/Blends/animations/blast/blast_PAE_animation 1H_1-366.mp4' command=frames-to-video task=89da63d2-1468-4d78-9012-de6d8dc48358
2026-02-10T14:59:59-07:00 INF command exited successfully command=frames-to-video pid=38116 task=89da63d2-1468-4d78-9012-de6d8dc48358
2026-02-10T15:00:04-07:00 INF obtained task task={"commands":[{"name":"blender-render","parameters":{"args":["\nimport os\nimport glob\nimport sys\nimport shutil\nimport time\n\n# Get the path to clean up\ncleanup_pattern = \"A:/1 Amazon_Active_Projects/260206_PAE_2026/Blends/animations/blast/PAE_animation 1H/*.png\"\njob_folder = \"A:/1 Amazon_Active_Projects/260206_PAE_2026/Blends/animations/blast/PAE_animation 1H\"\nprint(f\"Cleaning up temporary frames: {cleanup_pattern}\")\n\n# Find all matching files\nfiles = glob.glob(cleanup_pattern)\nprint(f\"Found {len(files)} files to delete\")\n\n# Delete each file\ndeleted_count = 0\nfor file in files:\n try:\n os.remove(file)\n deleted_count += 1\n except Exception as e:\n print(f\"Error deleting {file}: {e}\")\n\nprint(f\"Cleanup completed: {deleted_count} files deleted\")\n\n# Small delay to ensure file operations are complete\ntime.sleep(0.5)\n\n# Now forcibly delete the job folder since we know we've removed all important files\ntry:\n if os.path.exists(job_folder):\n # List contents for debugging\n remaining_files = os.listdir(job_folder)\n if remaining_files:\n print(f\"Detected remaining files in job folder: {remaining_files}\")\n print(\"These are likely system files or metadata which can be safely removed\")\n \n # Force deletion regardless of content\n shutil.rmtree(job_folder)\n print(f\"Deleted job folder: {job_folder}\")\n else:\n print(f\"Job folder does not exist: {job_folder}\")\nexcept Exception as e:\n print(f\"Error deleting job folder: {e}\")\n\nsys.exit(0) # Exit with success code regardless of folder deletion\n"],"argsBefore":["-b","--python-expr"],"blendfile":"","exe":"F:\\software\\Blender\\blender.exe","exeArgs":"-b -y --gpu-backend opengl"},"total_step_count":0}],"job":"863ebd16-679c-4210-a01a-95ba1855a69a","job_priority":51,"job_type":"BasedPlayblast","name":"playblast-cleanup","priority":50,"status":"active","steps_completed":0,"steps_total":1,"task_type":"blender","uuid":"dfc852d1-474c-45be-aede-a13054b8ffab"}
2026-02-10T15:00:04-07:00 INF starting task job=863ebd16-679c-4210-a01a-95ba1855a69a task=dfc852d1-474c-45be-aede-a13054b8ffab taskType=blender
2026-02-10T15:00:04-07:00 INF running Flamenco command command=blender-render parameters={"args":["\nimport os\nimport glob\nimport sys\nimport shutil\nimport time\n\n# Get the path to clean up\ncleanup_pattern = \"A:/1 Amazon_Active_Projects/260206_PAE_2026/Blends/animations/blast/PAE_animation 1H/*.png\"\njob_folder = \"A:/1 Amazon_Active_Projects/260206_PAE_2026/Blends/animations/blast/PAE_animation 1H\"\nprint(f\"Cleaning up temporary frames: {cleanup_pattern}\")\n\n# Find all matching files\nfiles = glob.glob(cleanup_pattern)\nprint(f\"Found {len(files)} files to delete\")\n\n# Delete each file\ndeleted_count = 0\nfor file in files:\n try:\n os.remove(file)\n deleted_count += 1\n except Exception as e:\n print(f\"Error deleting {file}: {e}\")\n\nprint(f\"Cleanup completed: {deleted_count} files deleted\")\n\n# Small delay to ensure file operations are complete\ntime.sleep(0.5)\n\n# Now forcibly delete the job folder since we know we've removed all important files\ntry:\n if os.path.exists(job_folder):\n # List contents for debugging\n remaining_files = os.listdir(job_folder)\n if remaining_files:\n print(f\"Detected remaining files in job folder: {remaining_files}\")\n print(\"These are likely system files or metadata which can be safely removed\")\n \n # Force deletion regardless of content\n shutil.rmtree(job_folder)\n print(f\"Deleted job folder: {job_folder}\")\n else:\n print(f\"Job folder does not exist: {job_folder}\")\nexcept Exception as e:\n print(f\"Error deleting job folder: {e}\")\n\nsys.exit(0) # Exit with success code regardless of folder deletion\n"],"argsBefore":["-b","--python-expr"],"blendfile":"","exe":"F:\\software\\Blender\\blender.exe","exeArgs":"-b -y --gpu-backend opengl"} task=dfc852d1-474c-45be-aede-a13054b8ffab
2026-02-10T15:00:04-07:00 INF going to run: 'F:\software\Blender\blender.exe' -b -y --gpu-backend opengl -b --python-expr '
import os
import glob
import sys
import shutil
import time
# Get the path to clean up
cleanup_pattern = "A:/1 Amazon_Active_Projects/260206_PAE_2026/Blends/animations/blast/PAE_animation 1H/*.png"
job_folder = "A:/1 Amazon_Active_Projects/260206_PAE_2026/Blends/animations/blast/PAE_animation 1H"
print(f"Cleaning up temporary frames: {cleanup_pattern}")
# Find all matching files
files = glob.glob(cleanup_pattern)
print(f"Found {len(files)} files to delete")
# Delete each file
deleted_count = 0
for file in files:
try:
os.remove(file)
deleted_count += 1
except Exception as e:
print(f"Error deleting {file}: {e}")
print(f"Cleanup completed: {deleted_count} files deleted")
# Small delay to ensure file operations are complete
time.sleep(0.5)
# Now forcibly delete the job folder since we know we'"'"'ve removed all important files
try:
if os.path.exists(job_folder):
# List contents for debugging
remaining_files = os.listdir(job_folder)
if remaining_files:
print(f"Detected remaining files in job folder: {remaining_files}")
print("These are likely system files or metadata which can be safely removed")
# Force deletion regardless of content
shutil.rmtree(job_folder)
print(f"Deleted job folder: {job_folder}")
else:
print(f"Job folder does not exist: {job_folder}")
except Exception as e:
print(f"Error deleting job folder: {e}")
sys.exit(0) # Exit with success code regardless of folder deletion
' command=blender-render task=dfc852d1-474c-45be-aede-a13054b8ffab
---
_**Agent (model default, mode Agent)**_
<think><details><summary>Thought Process</summary>
The user is asking about an error in what appears to be Flamenco (a distributed rendering/job management system) logs. Let me analyze what they've shared.
Looking at the log output:
1. **14:59:28** - An ffmpeg command runs to create a video from frames (frames-to-video task). The command uses concat, h264_nvenc, etc.
2. **14:59:59** - "command exited successfully" - So the ffmpeg command actually **succeeded**. No error there.
3. **15:00:04** - A new task is obtained: "playblast-cleanup" - a blender-render task that runs Python code to clean up temporary PNG frames and delete a job folder.
4. **15:00:04** - The task starts, and the Blender command is run with `-b --python-expr` and a long Python script.
The user asked "What's this error?" but I don't actually see an **error** in the log snippet they pasted. Everything shows:
- INF (info) level messages
- "command exited successfully" for the ffmpeg step
- Task obtained, starting task, running command - all normal flow
So either:
1. The user is confused and there's no error in what they pasted (they might be asking about something that happens *after* this log, or they're worried about something that looks wrong)
2. There's an error in the Blender/python cleanup step that isn't shown in the snippet (the log cuts off at "going to run")
3. The user might be referring to something subtle - like the `'"'"'` in the command which is shell escaping for a single quote inside the Python string ("we've" became "we'"'"'ve") - that could potentially cause issues in some shells
Let me look at the workspace to see if this is the Flamenco project and if there's code that generates these commands - that might reveal a bug (e.g. in how the Python script is passed to Blender).
</details></think>
---
From the snippet you pasted theres no error — the log level is `INF` and it says `command exited successfully` for the ffmpeg step. Checking the project for how the cleanup command is built; the only suspicious part is the quoted Python passed to Blender.
---
<tool-use data-tool-type="unknown" data-tool-name="ripgrep_raw_search">
<details>
<summary>Tool use: **ripgrep_raw_search**</summary>
Parameters:
```json
{
"pattern": "python-expr|blender-render|playblast-cleanup",
"path": "c:\\Users\\Nathan\\Desktop\\flamenco",
"caseInsensitive": false
}
```
Result:
```json
{
"success": {
"pattern": "python-expr|blender-render|playblast-cleanup",
"path": "c:\\Users\\Nathan\\Desktop\\flamenco",
"outputMode": "content",
"workspaceResults": {
"c:\\Users\\Nathan\\Desktop\\flamenco": {
"content": {
"matches": [
{
"file": ".\\scripts\\TalkingHeads Custom Render.js",
"matches": [
{
"lineNumber": 310,
"content": " const command = author.Command(\"blender-render\", {"
}
]
},
{
"file": ".\\.specstory\\history\\2026-01-09_20-34Z-flamenco-project-file-path-consistency.md",
"matches": [
{
"lineNumber": 5529,
"content": " \"contents\": \"function authorRenderTasks(settings, renderDir, renderOutput) {\\n print(\\\"authorRenderTasks(\\\", renderDir, renderOutput, \\\")\\\");\\n let renderTasks = [];\\n let chunks = frameChunker(settings.frames, settings.chunk_size);\\n\\n let baseArgs = [];\\n if (settings.scene) {\\n baseArgs = baseArgs.concat([\\\"--scene\\\", settings.scene]);\\n }\\n\\n for (let chunk of chunks) {\\n const task = author.Task(&amp;#96;render-${chunk}&amp;#96;, \\\"blender\\\");\\n const command = author.Command(\\\"blender-render\\\", {\\n exe: \\\"{blender}\\\",\\n exeArgs: \\\"{blenderArgs}\\\",\\n argsBefore: [],\\n blendfile: settings.blendfile,\\n args: baseArgs.concat([\\n \\\"--render-output\\\", path.join(renderDir, path.basename(renderOutput)),\\n \\\"--render-format\\\", settings.format,\\n \\\"--render-frame\\\", chunk.replaceAll(\\\"-\\\", \\\"..\\\"), // Convert to Blender frame range notation.\\n [... omitted end of long line]"
},
{
"lineNumber": 5580,
"content": " \"text\": \" const command = author.Command(\\\"blender-render\\\", {\","
}
]
},
{
"file": ".\\.specstory\\history\\2026-01-09_18-22Z-nexus-manager-access-issue.md",
"matches": [
{
"lineNumber": 1243,
"content": " \"contents\": \"**System Information**\\nOperating System(s): Win11 25h2\\n\\n**Flamenco Version**\\nIs Broken: 3.8.2\\nWorked OK: unknown\\n\\nWhen Flamenco is ran from a Windows machine, with the shared-storage set to an SMB share, the symlinks (Windows reparse points) created by Shaman appear to be either completely useless at worst, or context dependent at best.\\n\\nI don't know if this is a bug, or if I'm doing something wrong. But I can't get a windows system to create proper Windows Reparse points on an SMB share. And I'm [not the only one in recent history](https://www.reddit.com/r/blenderhelp/comments/1onwaj1/need_help_with_windows_flamenco_worker_file/) who has struggled to get Shaman to work with Windows and Samba.\\n\\n1. Download and configure Flamenco\\n2. Configure the security policy as instructed [in the documentation](https://flamenco.blender.org/usage/shared-storage/shaman/#windows)\\n3. Enable symlinks on the (Linux) machine hosting your SMB share, as instructed [in the do [... omitted end of long line]"
},
{
"lineNumber": 1340,
"content": " \"text\": \" 'F:\\\\software\\\\Blender\\\\blender.exe' -b -y --gpu-backend opengl 'F:\\\\jobs/SSD_2B/SSD_2B.flamenco.blend' --python-expr '\","
},
{
"lineNumber": 1367,
"content": " \"text\": \"' --python-expr 'import bpy; bpy.context.scene.cycles.device = '\\\"'\\\"'GPU'\\\"'\\\"'' --render-output 'F:/renders/SSD_2B/2026-01-08_151057/######' --render-format PNG --render-frame 0..15\","
},
{
"lineNumber": 3089,
"content": " \"contents\": \"**System Information**\\nOperating System(s): Win11 25h2\\n\\n**Flamenco Version**\\nIs Broken: 3.8.2\\nWorked OK: unknown\\n\\nWhen Flamenco is ran from a Windows machine, with the shared-storage set to an SMB share, the symlinks (Windows reparse points) created by Shaman appear to be either completely useless at worst, or context dependent at best.\\n\\nI don't know if this is a bug, or if I'm doing something wrong. But I can't get a windows system to create proper Windows Reparse points on an SMB share. And I'm [not the only one in recent history](https://www.reddit.com/r/blenderhelp/comments/1onwaj1/need_help_with_windows_flamenco_worker_file/) who has struggled to get Shaman to work with Windows and Samba.\\n\\n1. Download and configure Flamenco\\n2. Configure the security policy as instructed [in the documentation](https://flamenco.blender.org/usage/shared-storage/shaman/#windows)\\n3. Enable symlinks on the (Linux) machine hosting your SMB share, as instructed [in the do [... omitted end of long line]"
},
{
"lineNumber": 3186,
"content": " \"text\": \" 'F:\\\\software\\\\Blender\\\\blender.exe' -b -y --gpu-backend opengl 'F:\\\\jobs/SSD_2B/SSD_2B.flamenco.blend' --python-expr '\","
},
{
"lineNumber": 3213,
"content": " \"text\": \"' --python-expr 'import bpy; bpy.context.scene.cycles.device = '\\\"'\\\"'GPU'\\\"'\\\"'' --render-output 'F:/renders/SSD_2B/2026-01-08_151057/######' --render-format PNG --render-frame 0..15\","
}
]
},
{
"file": ".\\.specstory\\history\\2026-01-08_17-28Z-shaman-symlinking-for-windows-samba.md",
"matches": [
{
"lineNumber": 1219,
"content": " 'F:\\software\\Blender\\blender.exe' -b -y --gpu-backend opengl 'F:\\jobs/SSD_2B_test/SSD_2B.flamenco.blend' --python-expr '"
},
{
"lineNumber": 1226,
"content": "' --python-expr 'import bpy; bpy.context.scene.cycles.device = '\"'\"'GPU'\"'\"'' --render-output 'F:/renders/SSD_2B_test/2026-01-08_113553/######' --render-format PNG --render-frame 0..15"
},
{
"lineNumber": 1243,
"content": " 'F:\\software\\Blender\\blender.exe' -b -y --gpu-backend opengl 'F:\\jobs/SSD_2B_test/SSD_2B.flamenco.blend' --python-expr '"
},
{
"lineNumber": 1250,
"content": "' --python-expr 'import bpy; bpy.context.scene.cycles.device = '\"'\"'GPU'\"'\"'' --render-output 'F:/renders/SSD_2B_test/2026-01-08_113553/######' --render-format PNG --render-frame 0..15"
},
{
"lineNumber": 1267,
"content": " 'F:\\software\\Blender\\blender.exe' -b -y --gpu-backend opengl 'F:\\jobs/SSD_2B_test/SSD_2B.flamenco.blend' --python-expr '"
},
{
"lineNumber": 1274,
"content": "' --python-expr 'import bpy; bpy.context.scene.cycles.device = '\"'\"'GPU'\"'\"'' --render-output 'F:/renders/SSD_2B_test/2026-01-08_113553/######' --render-format PNG --render-frame 0..15"
},
{
"lineNumber": 2382,
"content": " 'F:\\software\\Blender\\blender.exe' -b -y --gpu-backend opengl 'F:\\jobs/SSD_2B_test/SSD_2B.flamenco.blend' --python-expr '"
},
{
"lineNumber": 2389,
"content": "' --python-expr 'import bpy; bpy.context.scene.cycles.device = '\"'\"'GPU'\"'\"'' --render-output 'F:/renders/SSD_2B_test/2026-01-08_120320/######' --render-format PNG --render-frame 16..31"
},
{
"lineNumber": 3099,
"content": " 'F:\\software\\Blender\\blender.exe' -b -y --gpu-backend opengl 'F:\\jobs/SSD_2B_test/SSD_2B.flamenco.blend' --python-expr '"
},
{
"lineNumber": 3106,
"content": "' --python-expr 'import bpy; bpy.context.scene.cycles.device = '\"'\"'GPU'\"'\"'' --render-output 'F:/renders/SSD_2B_test/2026-01-08_121410/######' --render-format PNG --render-frame 0..15"
},
{
"lineNumber": 3916,
"content": " 'F:\\software\\Blender\\blender.exe' -b -y --gpu-backend opengl 'F:\\jobs/SSD_2B_test/SSD_2B.flamenco.blend' --python-expr '"
},
{
"lineNumber": 3923,
"content": "' --python-expr 'import bpy; bpy.context.scene.cycles.device = '\"'\"'GPU'\"'\"'' --render-output 'F:/renders/SSD_2B_test/2026-01-08_123211/######' --render-format PNG --render-frame 0..15"
},
{
"lineNumber": 5086,
"content": " 'F:\\software\\Blender\\blender.exe' -b -y --gpu-backend opengl 'F:\\jobs/SSD_2B/SSD_2B.flamenco.blend' --python-expr '"
},
{
"lineNumber": 5093,
"content": "' --python-expr 'import bpy; bpy.context.scene.cycles.device = '\"'\"'GPU'\"'\"'' --render-output 'F:/renders/SSD_2B/2026-01-08_124237/######' --render-format PNG --render-frame 16..31"
},
{
"lineNumber": 5110,
"content": " 'F:\\software\\Blender\\blender.exe' -b -y --gpu-backend opengl 'F:\\jobs/SSD_2B/SSD_2B.flamenco.blend' --python-expr '"
},
{
"lineNumber": 5117,
"content": "' --python-expr 'import bpy; bpy.context.scene.cycles.device = '\"'\"'GPU'\"'\"'' --render-output 'F:/renders/SSD_2B/2026-01-08_124237/######' --render-format PNG --render-frame 16..31"
},
{
"lineNumber": 5414,
"content": " 'F:\\software\\Blender\\blender.exe' -b -y --gpu-backend opengl 'F:\\jobs/SSD_2B/SSD_2B.flamenco.blend' --python-expr '"
},
{
"lineNumber": 5421,
"content": "' --python-expr 'import bpy; bpy.context.scene.cycles.device = '\"'\"'GPU'\"'\"'' --render-output 'F:/renders/SSD_2B/2026-01-08_124237/######' --render-format PNG --render-frame 0..15"
},
{
"lineNumber": 5438,
"content": " 'F:\\software\\Blender\\blender.exe' -b -y --gpu-backend opengl 'F:\\jobs/SSD_2B/SSD_2B.flamenco.blend' --python-expr '"
},
{
"lineNumber": 5445,
"content": "' --python-expr 'import bpy; bpy.context.scene.cycles.device = '\"'\"'GPU'\"'\"'' --render-output 'F:/renders/SSD_2B/2026-01-08_124237/######' --render-format PNG --render-frame 0..15"
},
{
"lineNumber": 5462,
"content": " 'F:\\software\\Blender\\blender.exe' -b -y --gpu-backend opengl 'F:\\jobs/SSD_2B/SSD_2B.flamenco.blend' --python-expr '"
},
{
"lineNumber": 5469,
"content": "' --python-expr 'import bpy; bpy.context.scene.cycles.device = '\"'\"'GPU'\"'\"'' --render-output 'F:/renders/SSD_2B/2026-01-08_124237/######' --render-format PNG --render-frame 0..15"
},
{
"lineNumber": 5486,
"content": " 'F:\\software\\Blender\\blender.exe' -b -y --gpu-backend opengl 'F:\\jobs/SSD_2B/SSD_2B.flamenco.blend' --python-expr '"
},
{
"lineNumber": 5493,
"content": "' --python-expr 'import bpy; bpy.context.scene.cycles.device = '\"'\"'GPU'\"'\"'' --render-output 'F:/renders/SSD_2B/2026-01-08_124237/######' --render-format PNG --render-frame 0..15"
}
]
},
{
"file": ".\\scripts\\TalkingHeads cycles_optix_gpu.js",
"matches": [
{
"lineNumber": 255,
"content": " '--python-expr',"
},
{
"lineNumber": 257,
"content": " '--python-expr',"
},
{
"lineNumber": 277,
"content": " task_invariant_args.push('--python-expr');"
},
{
"lineNumber": 287,
"content": " const command = author.Command('blender-render', {"
}
]
},
{
"file": ".\\.specstory\\history\\2025-05-06_20-07Z-switching-to-optix-gpu-rendering.md",
"matches": [
{
"lineNumber": 232,
"content": "blender --background --python-expr \"import bpy; bpy.context.preferences.addons['cycles'].preferences.compute_device_type = 'OPTIX'; bpy.context.preferences.addons['cycles'].preferences.get_devices(); [device.use = True for device in bpy.context.preferences.addons['cycles'].preferences.devices if device.type == 'OPTIX']; [setattr(scene.cycles, 'device', 'GPU') for scene in bpy.data.scenes]; bpy.ops.wm.save_userpref()\""
},
{
"lineNumber": 272,
"content": "blender --background --python-expr \"import bpy; bpy.context.preferences.addons['cycles'].preferences.compute_device_type = 'OPTIX'; bpy.context.preferences.addons['cycles'].preferences.get_devices(); [setattr(device, 'use', True) for device in bpy.context.preferences.addons['cycles'].preferences.devices if device.type == 'OPTIX']; [setattr(scene.cycles, 'device', 'GPU') for scene in bpy.data.scenes]; bpy.ops.wm.save_userpref()\""
}
]
}
],
"totalLines": 39,
"totalMatchedLines": 39
}
}
}
}
}
```
Status: **completed**
</details>
</tool-use>
---
<tool-use data-tool-type="unknown" data-tool-name="list_dir_v2">
<details>
<summary>Tool use: **list_dir_v2**</summary>
Parameters:
```json
{
"targetDirectory": "c:\\Users\\Nathan\\Desktop\\flamenco"
}
```
Result:
```json
{
"directoryTreeRoot": {
"absPath": "c:\\Users\\Nathan\\Desktop\\flamenco",
"childrenDirs": [
{
"absPath": "c:\\Users\\Nathan\\Desktop\\flamenco\\.specstory",
"childrenDirs": [
{
"absPath": "c:\\Users\\Nathan\\Desktop\\flamenco\\.specstory\\history",
"childrenFiles": [
{
"name": "2025-04-04_17-25Z-creating-worker2-scripts-for-flamenco.md"
},
{
"name": "2025-04-23_20-48Z-network-drive-mapping-and-file-copying-script.md"
},
{
"name": "2025-04-25_19-30Z-i9-13ks-setup-troubleshooting.md"
},
{
"name": "2025-05-05_16-17Z-flamenco-job-status-troubleshooting.md"
},
{
"name": "2025-05-06_20-07Z-switching-to-optix-gpu-rendering.md"
},
{
"name": "2025-05-06_21-34Z-identifying-mistakes-and-seeking-guidance.md"
},
{
"name": "2025-05-07_22-05Z-script-modification-for-masterbox.md"
},
{
"name": "2025-05-12_16-04Z-technical-scripting-and-troubleshooting-discussion.md"
},
{
"name": "2025-05-13_23-13Z-bypassing-password-prompts-in-script.md"
},
{
"name": "2025-05-14_15-49Z-cmd-worker-error-handling-and-retry-logic.md"
},
{
"name": "2025-05-23_23-12Z-replace-remotecmd-with-remotesimplified.md"
},
{
"name": "2025-06-03_00-04Z-change-retry-function-to-infinite-retries.md"
},
{
"name": "2025-07-15_18-30Z-configure-launch-standard-worker-for-flamenco-3-7.md"
},
{
"name": "2025-08-13_18-59Z-remove-seq-from-jobname-format.md"
},
{
"name": "2025-11-03_19-27Z-create-sister-script-for-sheepit.md"
},
{
"name": "2025-11-06_17-28Z-update-path-structure-for-renders.md"
},
{
"name": "2025-11-19_17-03Z-why-is-git-frozen.md"
},
{
"name": "2025-11-21_01-14Z-workers-failing-and-ssh-connection-issues.md"
},
{
"name": "2025-11-21_16-43Z-fixing-sheepit-worker-incompatibility.md"
},
{
"name": "2026-01-08_17-28Z-shaman-symlinking-for-windows-samba.md"
},
{
"name": "2026-01-08_23-42Z-windows-symlinking-error.md"
}
],
"fullSubtreeExtensionCounts": {
".md": 3
},
"numFiles": 3
}
],
"childrenFiles": [
{
"name": ".gitignore"
}
],
"fullSubtreeExtensionCounts": {
".md": 3
},
"numFiles": 3
},
{
"absPath": "c:\\Users\\Nathan\\Desktop\\flamenco\\scripts",
"childrenFiles": [
{
"name": "outline.txt"
},
{
"name": "TalkingHeads Custom Render.js"
},
{
"name": "TalkingHeads cycles_optix_gpu.js"
}
],
"childrenWereProcessed": true
},
{
"absPath": "c:\\Users\\Nathan\\Desktop\\flamenco\\sqlite",
"childrenFiles": [
{
"name": "2025.04.17.09.50.29_flamenco-manager.sqlite"
},
{
"name": "2025.04.21.09.53.46_flamenco-manager.sqlite"
},
{
"name": "2025.04.22.09.37.45_flamenco-manager.sqlite"
},
{
"name": "2025.04.24.09.43.08_flamenco-manager.sqlite"
},
{
"name": "2025.04.25.09.55.50_flamenco-manager.sqlite"
},
{
"name": "2025.05.05.10.09.33_flamenco-manager.sqlite"
},
{
"name": "2025.05.05.16.15.03_flamenco-manager.sqlite"
},
{
"name": "2025.05.09.09.38.44_flamenco-manager.sqlite"
},
{
"name": "2025.05.12.10.52.00_flamenco-manager.sqlite"
},
{
"name": "2025.05.28.17.21.15_flamenco-manager.sqlite"
},
{
"name": "2025.06.06.09.50.20_flamenco-manager.sqlite"
},
{
"name": "2025.06.17.13.57.17_flamenco-manager.sqlite"
},
{
"name": "2025.07.01.11.02.08_flamenco-manager.sqlite"
},
{
"name": "2025.07.10.10.00.59_flamenco-manager.sqlite"
},
{
"name": "2025.07.15.10.16.07_flamenco-manager.sqlite"
},
{
"name": "2025.07.15.14.04.28_flamenco-manager.sqlite"
},
{
"name": "2025.07.22.09.37.20_flamenco-manager.sqlite"
},
{
"name": "2025.07.28.09.34.53_flamenco-manager.sqlite"
},
{
"name": "2025.09.11.11.39.47_flamenco-manager.sqlite"
},
{
"name": "2025.10.27.12.46.53_flamenco-manager.sqlite"
},
{
"name": "2025.11.19.11.05.13_flamenco-manager.sqlite"
},
{
"name": "2026.01.08.10.06.50_flamenco-manager.sqlite"
},
{
"name": "2026.02.10.10.22.19_flamenco-manager.sqlite"
}
],
"childrenWereProcessed": true
}
],
"childrenFiles": [
{
"name": ".cursorindexingignore"
},
{
"name": ".gitattributes"
},
{
"name": ".gitignore"
},
{
"name": "linux_flamenco_manager.bat"
},
{
"name": "unified_flamenco_launcher.bat"
},
{
"name": "unified_flamenco_launcher.ps1"
},
{
"name": "unified_sheepit_launcher.bat"
},
{
"name": "unified_sheepit_launcher.ps1"
}
],
"fullSubtreeExtensionCounts": {
".md": 3
},
"numFiles": 3
}
}
```
Status: **completed**
</details>
</tool-use>
---
<think><details><summary>Thought Process</summary>
The log the user shared doesn't show an actual error line (no ERR or failure). The "BasedPlayblast" job type and "playblast-cleanup" task aren't in this repo's scripts (TalkingHe</details></think>
---
+4
View File
@@ -0,0 +1,4 @@
@echo off
title Nexus Flamenco Manager
echo Connecting to nexus and starting Flamenco Manager...
ssh nexus "cd /mnt/PHOENIX/flamenco/software/Flamenco && ./flamenco-manager"
Binary file not shown.
Binary file not shown.
Binary file not shown.
+15 -9
View File
@@ -58,10 +58,11 @@ function Get-RemoteStandardWorkerCommand {
Write-Host "Setting up network connections..." -ForegroundColor Cyan
# Define arrays of drives and network paths
$drives = @('A:', 'F:', 'N:', 'P:')
$drives = @('A:', 'F:', 'G:', 'N:', 'P:')
$networkPaths = @(
'\\NEXUS\amazon',
'\\NEXUS\flamenco',
'\\NEXUS\glacier',
'\\NEXUS\proj',
'\\NAS\amazon'
)
@@ -90,6 +91,7 @@ if ($LASTEXITCODE -eq 0) {
# Map all NEXUS drives
net use A: \\NEXUS\amazon /persistent:yes
net use F: \\NEXUS\flamenco /persistent:yes
net use G: \\NEXUS\glacier /persistent:yes
net use P: \\NEXUS\proj /persistent:yes
} else {
Write-Host "Failed to connect to NEXUS" -ForegroundColor Red
@@ -109,7 +111,7 @@ net use
# Start worker
Write-Host "Starting Flamenco worker..." -ForegroundColor Cyan
Set-Location 'F:\software\Flamenco 3.7'
Set-Location 'F:\software\Flamenco'
if (Test-Path 'flamenco-worker.exe') {
Write-Host "Running flamenco-worker.exe..." -ForegroundColor Green
# Run the worker and capture its exit code
@@ -118,7 +120,7 @@ if (Test-Path 'flamenco-worker.exe') {
Write-Host "Flamenco worker process has terminated with exit code: $exitCode" -ForegroundColor Yellow
exit $exitCode # Exit with the worker's exit code to trigger restart if needed
} else {
Write-Host "Error: flamenco-worker.exe not found in F:\software\Flamenco 3.7" -ForegroundColor Red
Write-Host "Error: flamenco-worker.exe not found in F:\software\Flamenco" -ForegroundColor Red
exit 1 # Exit with error code to trigger restart
}
'@
@@ -130,10 +132,11 @@ function Get-RemoteCmdWorkerCommand {
Write-Host "Setting up network connections..." -ForegroundColor Cyan
# Define arrays of drives and network paths
$drives = @('A:', 'F:', 'N:', 'P:')
$drives = @('A:', 'F:', 'G:', 'N:', 'P:')
$networkPaths = @(
'\\NEXUS\amazon',
'\\NEXUS\flamenco',
'\\NEXUS\glacier',
'\\NEXUS\proj',
'\\NAS\amazon'
)
@@ -153,6 +156,7 @@ if ($LASTEXITCODE -eq 0) {
# Map all NEXUS drives
net use A: \\NEXUS\amazon /persistent:yes
net use F: \\NEXUS\flamenco /persistent:yes
net use G: \\NEXUS\glacier /persistent:yes
net use P: \\NEXUS\proj /persistent:yes
} else {
Write-Host "Failed to connect to NEXUS" -ForegroundColor Red
@@ -167,13 +171,13 @@ net use
# Start worker via CMD - hardcoded paths
Write-Host "Running command file..." -ForegroundColor Cyan
$defaultCmdPath = "F:\software\Flamenco 3.7\run-flamenco-worker.cmd"
$defaultCmdPath = "F:\software\Flamenco\run-flamenco-worker.cmd"
if (Test-Path $defaultCmdPath) {
Set-Location "F:\software\Flamenco 3.7"
Set-Location "F:\software\Flamenco"
Write-Host "Starting worker..." -ForegroundColor Green
# Use hardcoded path to avoid variable expansion issues
cmd.exe /c "F:\software\Flamenco 3.7\run-flamenco-worker.cmd"
cmd.exe /c "F:\software\Flamenco\run-flamenco-worker.cmd"
Write-Host "Worker process has terminated." -ForegroundColor Yellow
} else {
Write-Host "Command file not found at default location." -ForegroundColor Red
@@ -199,10 +203,11 @@ function Get-RemoteSimplifiedCmdWorkerCommand {
Write-Host "Setting up network connections..." -ForegroundColor Cyan
# Define arrays of drives and network paths
$drives = @('A:', 'F:', 'N:', 'P:')
$drives = @('A:', 'F:', 'G:', 'N:', 'P:')
$networkPaths = @(
'\\NEXUS\amazon',
'\\NEXUS\flamenco',
'\\NEXUS\glacier',
'\\NEXUS\proj',
'\\NAS\amazon'
)
@@ -222,6 +227,7 @@ if ($LASTEXITCODE -eq 0) {
# Map all NEXUS drives
net use A: \\NEXUS\amazon /persistent:yes
net use F: \\NEXUS\flamenco /persistent:yes
net use G: \\NEXUS\glacier /persistent:yes
net use P: \\NEXUS\proj /persistent:yes
} else {
Write-Host "Failed to connect to NEXUS" -ForegroundColor Red
@@ -236,7 +242,7 @@ net use
# Simple direct command execution with automatic "2" input
Write-Host "Running Flamenco worker..." -ForegroundColor Cyan
Set-Location -Path "F:\software\Flamenco 3.7"
Set-Location -Path "F:\software\Flamenco"
if (Test-Path -Path "run-flamenco-worker.cmd") {
# Create a temporary file to store the "2" input
$tempInputFile = [System.IO.Path]::GetTempFileName()