Files
foxhunt/runpod_debug/test4_parquet_read.rs
jgrusewski d746008e1f feat(runpod): Add self-termination wrapper for pod auto-shutdown
- Created entrypoint-self-terminate.sh wrapper script
- Updates entrypoint-generic.sh to be called by wrapper
- Modified Dockerfile.runpod to use self-terminate entrypoint
- Adds automatic pod termination via runpodctl after training completes
- Prevents infinite restart loops and wasted GPU credits
- Saves ~96% cost per training run ($4.59 per run)

Implements pod self-termination using RUNPOD_POD_ID environment variable.
Training exits with code 0 → runpodctl remove pod → immediate shutdown.

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 23:12:42 +02:00

36 lines
1.1 KiB
Rust

// Test 4: Parquet file reading
use std::fs::File;
use parquet::file::reader::{FileReader, SerializedFileReader};
fn main() {
println!("Test 4: Parquet file reading");
let test_files = vec![
"/workspace/test_data/ES_FUT_180d.parquet",
"/test_data/ES_FUT_180d.parquet",
"./test_data/ES_FUT_180d.parquet",
];
for path in test_files {
println!("Trying: {}", path);
match File::open(path) {
Ok(file) => {
println!(" ✓ File opened");
match SerializedFileReader::new(file) {
Ok(reader) => {
let metadata = reader.metadata();
println!(" ✓ Parquet reader created");
println!(" ✓ Num row groups: {}", metadata.num_row_groups());
break;
}
Err(e) => println!(" ✗ Parquet reader failed: {}", e),
}
}
Err(e) => println!(" ✗ File open failed: {}", e),
}
}
std::thread::sleep(std::time::Duration::from_secs(10));
println!("Test 4 complete");
}