gajus/turbowatch

Add persistent attribute

gajus opened this issue · 5 comments

gajus commented

Use case:

Identify which processes do not timeout.

Equivalent to https://turbo.build/repo/docs/reference/configuration#persistent

Label a task as persistent if it is a long-running process, such as a dev server or --watch mode. Turbo will prevent other tasks from depending on persistent tasks. Without setting this config, if any other task depends on dev, it will never run, because dev never exits. With this option, turbo can warn you about an invalid configuration.

API:

{
  persistent?: boolean,
}

Considerations:

  • This somewhat overlaps with the interruptible attribute. The difference though is that persistent is not expected to be restarted when file changes are detected.
gajus commented

For non-persistent tasks we want to log every 5 seconds their progress, i.e. "task X is still building after X seconds"

gajus commented

and we don't want logs "waiting for X to complete" for persistent

gajus commented

not clear how to handle interruptible though #14

gajus commented

We should consider delaying persistent task initialization until after all non-persistent tasks complete.

As far as I can think of, this would reduce unnecessary reloads at the start.