#[tokio::main]
async fn main() -> std::result::Result<(), Box<dyn std::error::Error>> {
println!("📤 Enqueuing long-running tasks...\n");
let redis_config = asynq::backend::RedisConnectionType::single("redis://localhost:6379")?;
let client = asynq::client::Client::new(redis_config).await?;
let mut task_ids = Vec::new();
for i in 1..=5 {
let task = asynq::task::Task::new("long_task", format!("task_{i}").as_bytes())?;
let info = client.enqueue(task).await?;
let task_id = info.id.clone();
println!("✅ Enqueued task {i}: {task_id}");
println!(" Queue: {}", info.queue);
println!(" State: {:?}\n", info.state);
task_ids.push(task_id);
}
println!("📊 Summary:");
println!(" Total tasks enqueued: {}", task_ids.len());
println!("\n💡 Task IDs for cancellation:");
for (i, task_id) in task_ids.iter().enumerate() {
println!(" Task {}: {}", i + 1, task_id);
}
println!("\n🎯 Next steps:");
println!(" Run: cargo run --example cancel_tasks");
println!(" Or use Inspector to cancel specific tasks");
Ok(())
}