Skip to contents

Fetch information about a task. This is much more detailed than the information in task_status. If a task is running we also fetch the true status via its driver, which can be slower.

Usage

task_info(id, follow = TRUE, root = NULL)

Arguments

id

A single task id to fetch information for

follow

Logical, indicating if we should follow any retried tasks.

root

A hipercow root, or path to it. If NULL we search up your directory tree.

Value

An object of class hipercow_task_info, which will print nicely. This is just a list with elements:

  • id: the task identifier

  • status: the retrieved status

  • driver: the driver used to run the task (or NA)

  • data: the task data (depends on the type of task)

  • times: a vector of times

  • retry_chain: the retry chain (or NULL)

You can see and access these elements more easily by running unclass() on the result of task_info().

Examples

cleanup <- hipercow_example_helper()
#>  This example uses a special helper
id <- task_create_expr(runif(1))
#>  Submitted task '989d69c213d3fac91a663f4c57aebd98' using 'example'
task_wait(id)
#> [1] TRUE

# Task information at completion includes times:
task_info(id)
#> 
#> ── task 989d69c213d3fac91a663f4c57aebd98 (success) ─────────────────────────────
#>  Submitted with 'example'
#>  Task type: expression
#>   • Expression: runif(1)
#>   • Locals: (none)
#>   • Environment: default
#>     R_GC_MEM_GROW: 3
#>  Created at 2024-10-08 15:27:14.241169 (moments ago)
#>  Started at 2024-10-08 15:27:14.422629 (moments ago; waited 182ms)
#>  Finished at 2024-10-08 15:27:14.51357 (moments ago; ran for 91ms)

# If you need to work with these times, use the "times" element:
task_info(id)$times
#>                   created                   started                  finished 
#> "2024-10-08 15:27:14 UTC" "2024-10-08 15:27:14 UTC" "2024-10-08 15:27:14 UTC" 

# If a task is retried, this information appears as a retry chain:
id2 <- task_retry(id)
#>  Submitted task 'f3aabf88c6c6a681cdaef7af42b217a4' using 'example'
task_info(id2, follow = FALSE)
#> 
#> ── task f3aabf88c6c6a681cdaef7af42b217a4 (submitted) ───────────────────────────
#>  Submitted with 'example'
#>  Task type: expression
#>   • Expression: runif(1)
#>   • Locals: (none)
#>   • Environment: default
#>     R_GC_MEM_GROW: 3
#>  Created at 2024-10-08 15:27:14.241169 (moments ago)
#> ! Not started yet (waiting for 1.1s)
#> ! Not finished yet (waiting to start)
#>  Last of a chain of a task retried 1 time
task_info(id2)
#> 
#> ── task f3aabf88c6c6a681cdaef7af42b217a4 (success) ─────────────────────────────
#>  Submitted with 'example'
#>  Task type: expression
#>   • Expression: runif(1)
#>   • Locals: (none)
#>   • Environment: default
#>     R_GC_MEM_GROW: 3
#>  Created at 2024-10-08 15:27:14.241169 (moments ago)
#>  Started at 2024-10-08 15:27:15.318445 (moments ago; waited 1.1s)
#>  Finished at 2024-10-08 15:27:15.319299 (moments ago; ran for 1ms)
#>  Last of a chain of a task retried 1 time

cleanup()
#>  Cleaning up example