earl / beanstalkc

A simple beanstalkd client library for Python
Apache License 2.0
457 stars 115 forks source link

Kick don't seem to work if other than default tube was selected. #12

Closed emb closed 13 years ago

emb commented 13 years ago

I was trying to kick a job today, and it wouldn't work. A little investigation using wireshark, showed that beanstalkd always returned 'KICKED 0'

I found two issues with views.job_kick. 1) beanstalk kick command takes bound as an argument, that is the maximum number of jobs to be kicked in a specific tube. [*] 2) It would seem that using a tube before kicking is necessary.

I can provide a patch to fix this, should be people be interested.

[*] From beanstalkd protocol.txt The kick command applies only to the currently used tube. It moves jobs into the ready queue. If there are any buried jobs, it will only kick buried jobs. Otherwise it will kick delayed jobs. It looks like:

kick \r\n

earl commented 13 years ago

I fear this problem is unrelated to beanstalkc itself, but pertains to a tool building on top of beanstalkc. beanstalkc itself neither has a views.job_kick nor does anything seem to be particularly wrong with beanstalkc's kick implementation.

Based on your views.job_kick remark, you probably want to report this issue to django-jack: https://github.com/andreisavu/django-jack

Closing as not an error.

emb commented 13 years ago

Sorry earl, Last I remember I was on django-jack page, some how I ended up here. I need to get used to git-hub.