question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

queue: Ability to send different signals to running tasks

See original GitHub issue

dvc queue kill can be used to terminate running tasks. One can also use dvc queue logs --follow to attach to the output of a running task, but CTRL+C (SIGINT) will only detach but not forward the interrupt signal to the running task (which is good). There is no option at the moment to gracefully interrupt a running task, e.g., a training stage using DVC checkpoints as one can and is being used in the user guide for DVC Experiments with checkpoints. Options for dvc queue kill which enable the user to send different signals (SIGTERM, SIGINT) to the running task similar to the Unix kill command would be useful.

Related, sending SIGINT via CTRL+C would be possible if there was a command to attach to a running task such that the signal is indeed forwarded to the task rather than handled by, e.g., dvc queue logs --follow. Possibly similar to docker attach, where one can declare --detach-keys to detach without interrupting the task. A key combination different from CTRL+C could also have been used for dvc queue logs --follow to unfollow / detach again without interruption (see also tmux) but CTRL+C would have been forwarded to the task still. This different behavior could be covered by a new dvc queue attach command (which could make dvc queue logs --follow obsolete actually).

Issue Analytics

  • State:open
  • Created 10 months ago
  • Reactions:1
  • Comments:7 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
dberenbaumcommented, Dec 2, 2022

How important is this? It seems like a new feature request that may not be urgent.

Issues like #8612 should work even with SIGKILL. Can we hold off on this until we address the reported regressions and bugs?

1reaction
pmrowlacommented, Dec 2, 2022

Discussed this with @karajan1001, looks like there may be an issue with our SIGINT handling in dvc exp exec-run (which is used internally to run the exps from celery), so that’s where we’ll need to start for this issue. It should not be necessary for us to keep track of each child pipeline stage process ID.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Queues for task and interrupt message passing in FreeRTOS ...
FreeRTOS Queues​​ Queues are the primary form of intertask communications. They can be used to send messages between tasks, and between interrupts and...
Read more >
Task Queue Overview - App Engine - Google Cloud
Push queues run tasks by delivering HTTP requests to App Engine worker services. They dispatch these requests at a reliable, steady rate and...
Read more >
bqueues command reference - IBM
Displays the queues that can run jobs on the specified host. ... CPULIMIT is reached, a SIGXCPU signal is sent to all processes...
Read more >
Introduction to RTOS - Solution to Part 5 (FreeRTOS Queue ...
A queue is a simple FIFO system with atomic reads and writes. “Atomic operations” are those that cannot be interrupted by other tasks...
Read more >
Control queues
If there are jobs in the queue, move pending and running jobs to another queue, then remove the queue. If you remove a...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found