-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Does it support multiple users share one queue? #5
Comments
Hi @shaoyucheng. No, multiple users cannot share a queue. Each user will create their own server based on their UID. |
got it, i think it should be a good feature which will make your project like a enhanced version of atd service. |
Sounds like an interesting feature. I will keep this issue open for updates of this feature. |
I need this too for our shared Volta GPU server. |
It seems i was able to setup a shared queue with $TS_SOCKET, as mentioned in TRICKS. Thanks for making task-spooler. |
Hi @wolfram77. Yes sharing the server file can be a quick and dirty way to share the queue, but be aware that it has a lot of limitations since jobs are user-independent (like |
@justanhduc While trying it out yesterday i saw -K deletes the socket file. Again had to chmod it. It shouldnt be a problem, but now i put a message about in help text in the server. |
I too would be interested in the multi-users mode, even if it means all users can kill tasks form anyone |
Hey @fearedspark. Thanks for your interest. Indeed, there is a working prototype in the branch |
Well, I will speak about the way I'm managing it on our machine, and maybe it will provide some insight. |
Hey @fearedspark. Yeah basically we still have to depend on the kindness of other users 😅. Then I will try to look at the prototype again and see whether I can make it stable or not. Thanks a lot for the initiatives! |
Dear all, |
Hey @kylincaster. Awesome! Would you mind sending a PR? I will try to review it and we can discuss more how to improve from there. |
1 similar comment
Hey @kylincaster. Awesome! Would you mind sending a PR? I will try to review it and we can discuss more how to improve from there. |
I just submit the PR. you could have a try @justanhduc |
Hey @kylincaster. You made a PR in your fork. Could you please make the PR again in here? |
Ok, I have done with the full detail about the feature/bug in my work. |
@justanhduc I found if i wanted to precisely control the task, the PID of all subprocessors needed to be known in advance. |
Hi @kylincaster. Sorry for the late reply. What do you mean by "precise control"? What is your use case thay |
Hi, @justanhduc, I mean to pause or kill a process by ts. not only the process itself, but also all subprocesses should be handled. So a revursive code is necessary to find the PID for all subprocesses |
Hi @kylincaster. To kill or pause a process and its children, can we just simply send the signal to the whole process group like the memo here? Or is there anything I missed? |
Hi @justanhduc I ever try to
with ts command |
Hey @kylincaster. According to the documentation of And specifically for your problem, be sure to check the Ubuntu version and
Ps: Our discussion about sending signal seems not to be in the scope of this issue, so if you still have any problem it's better to open another ticket and we can continue there. |
Thanks for @justanhduc's comments on the performance of mpirun. #!/bin/bash
# getting children generally resolves nicely at some point
get_child() {
echo $(pgrep -laP $1 | awk '{print $1}')
}
get_children() {
__RET=$(get_child $1)
__CHILDREN=
while [ -n "$__RET" ]; do
__CHILDREN+="$__RET "
__RET=$(get_child $__RET)
done
__CHILDREN=$(echo "${__CHILDREN}" | xargs | sort)
echo "${__CHILDREN} $1"
}
if [ 1 -gt $# ];
then
echo "not input PID"
exit 1
fi
owner=`ps -o user= -p $1`
if [ -z "$owner" ];
then
# echo "not a valid PID"
exit 1
fi
pids=`get_children $1`
user=`whoami`
extra=""
if [[ "$owner" != "$user" ]]; then
extra="sudo"
fi
for pid in ${pids};
do
if [ -z $2 ]
then
echo "${extra} ${pid}"
else
${extra} kill -s $2 ${pid}
fi
done |
Can you share details in how you got this setup? I've defined a socket but still can't see anything from other users... @justanhduc would you be able to help with this? |
I set |
Thanks. I was calling What about your logs though? I've got the shared queue working but still can't access logs from tasks queued from other users. |
Is it |
Could you try redirecting both stdout and stderr to a file? If that does not work for you, @justanhduc may be able to help you. |
Hi @sadikyalcin @wolfram77. First of all, |
Also, if you want a proper multi-user task spooler, the fork of @kylincaster is probably a better choice. |
Dear all, If anyone is looking for a multi-queue task manager, you are welcome to try my fork at kylincaster/task-spooler-PLUS. It has been enhanced with numerous useful features, including multiple user support, fatal crash recovery, and processor allocation and binding. Best regards, |
If true, how can i realize it, thanks
The text was updated successfully, but these errors were encountered: