feature: add command to run tasks
This commit is contained in:
parent
63c20cfc87
commit
5387210844
8 changed files with 160 additions and 17 deletions
14
src/main.rs
14
src/main.rs
|
|
@ -5,7 +5,7 @@ use figment::{
|
|||
};
|
||||
use readwise_bulk_upload::config::{Command, Config};
|
||||
use readwise_bulk_upload::readwise::DocumentPayload;
|
||||
use readwise_bulk_upload::task_manager::TaskManager;
|
||||
use readwise_bulk_upload::task_manager::{TaskManager, TaskStatus};
|
||||
use readwise_bulk_upload::{Error, Result};
|
||||
use std::fs::File;
|
||||
use tabled::Table;
|
||||
|
|
@ -29,6 +29,7 @@ async fn main() -> Result<()> {
|
|||
}
|
||||
|
||||
async fn run(command: &Command) -> Result<()> {
|
||||
let task_manager = TaskManager::new().await?;
|
||||
match command {
|
||||
Command::LoadTasks { path } => {
|
||||
let file = File::open(path).map_err(|_| {
|
||||
|
|
@ -40,16 +41,21 @@ async fn run(command: &Command) -> Result<()> {
|
|||
|
||||
let documents: Vec<DocumentPayload> = serde_json::from_reader(file)?;
|
||||
|
||||
let task_manager = TaskManager::new().await?;
|
||||
|
||||
task_manager.load_tasks(documents).await?;
|
||||
}
|
||||
Command::Query => {
|
||||
let task_manager = TaskManager::new().await?;
|
||||
let tasks = task_manager.get_tasks::<DocumentPayload>(None, 25).await?;
|
||||
let tasks = task_manager.get_tasks::<DocumentPayload>(None, Some(25)).await?;
|
||||
|
||||
println!("{}", Table::new(tasks));
|
||||
}
|
||||
Command::Run => {
|
||||
task_manager.run_tasks::<DocumentPayload>(|task| {
|
||||
println!("{}", task.get_key());
|
||||
|
||||
TaskStatus::Completed
|
||||
}).await?;
|
||||
}
|
||||
Command::None => {
|
||||
Config::command().print_help()?;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue