pub struct PythonTaskHandler;Implementations§
Source§impl PythonTaskHandler
impl PythonTaskHandler
Sourcepub fn new() -> Self
pub fn new() -> Self
Examples found in repository?
examples/simple_execution.rs (line 13)
8async fn main() -> Result<(), Box<dyn std::error::Error>> {
9 println!("Testing handler execution directly...\n");
10
11 // Test Python handler
12 println!("=== Testing Python Handler ===");
13 let python_handler = PythonTaskHandler::new();
14 let python_task = Task::new(
15 TaskDefinition::new("test-python", "python_script")
16 .with_payload(
17 "script",
18 json!("print('Hello from direct execution!'); x = 5 + 3; print(f'5 + 3 = {x}')"),
19 )
20 .with_payload("args", json!([])),
21 );
22
23 match python_handler.execute(&python_task).await {
24 Ok(result) => {
25 println!("Python execution successful: {}", result.success);
26 println!("Output: {:?}", result.output);
27 }
28 Err(e) => println!("Python execution failed: {}", e),
29 }
30
31 println!("\n=== Testing File Handler ===");
32 // Test File handler
33 let file_handler = FileTaskHandler::new();
34
35 // Create a test file
36 let create_task = Task::new(
37 TaskDefinition::new("test-create", "file_operation")
38 .with_payload("operation", json!("write"))
39 .with_payload("path", json!("/tmp/test_direct.txt"))
40 .with_payload(
41 "content",
42 json!("This was created by direct handler execution\nTest successful!"),
43 ),
44 );
45
46 match file_handler.execute(&create_task).await {
47 Ok(result) => {
48 println!("File creation successful: {}", result.success);
49 println!("Output: {:?}", result.output);
50 }
51 Err(e) => println!("File creation failed: {}", e),
52 }
53
54 // Read the file back
55 println!("\n=== Testing File Read ===");
56 let read_task = Task::new(
57 TaskDefinition::new("test-read", "file_operation")
58 .with_payload("operation", json!("read"))
59 .with_payload("path", json!("/tmp/test_direct.txt")),
60 );
61
62 match file_handler.execute(&read_task).await {
63 Ok(result) => {
64 println!("File read successful: {}", result.success);
65 if let Some(content) = result.output {
66 println!("File content: {}", content);
67 }
68 }
69 Err(e) => println!("File read failed: {}", e),
70 }
71
72 // Cleanup
73 println!("\n=== Cleaning Up ===");
74 let delete_task = Task::new(
75 TaskDefinition::new("test-delete", "file_operation")
76 .with_payload("operation", json!("delete"))
77 .with_payload("path", json!("/tmp/test_direct.txt")),
78 );
79
80 match file_handler.execute(&delete_task).await {
81 Ok(result) => println!("File cleanup successful: {}", result.success),
82 Err(e) => println!("File cleanup failed: {}", e),
83 }
84
85 println!("\nDirect handler execution test completed!");
86 Ok(())
87}Trait Implementations§
Source§impl TaskHandler for PythonTaskHandler
impl TaskHandler for PythonTaskHandler
Auto Trait Implementations§
impl Freeze for PythonTaskHandler
impl RefUnwindSafe for PythonTaskHandler
impl Send for PythonTaskHandler
impl Sync for PythonTaskHandler
impl Unpin for PythonTaskHandler
impl UnwindSafe for PythonTaskHandler
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more