2010-2-10
| 15:37 | mat__ | do i need to disable all consumers first? |
| 15:37 | asksol | I don't think so actually, but I have no idea what happens |
| 15:37 | mat__ | celerymon could become celerymanager |
| 15:38 | asksol | the signature is channel.queue_delete(queue, if_unused=False, if_empty=False) |
| 15:38 | asksol | yeah, but in the case of deleting queues, I think celerymon isn't the right place |
| 15:38 | asksol | or, maybe it is, but I don't even want to think about the work to be done to get it there |
| 15:40 | asksol | but note that I have no idea what happens with celeryd if the queue suddenly disappears |
| 15:41 | asksol | at worst it just crashes though |
| 15:41 | asksol | need to restart it |
| 15:44 | mat__ | ok fine, getting there...... |
| 15:45 | mat__ | i deleted all but one, as it wasn't int he settings.py, as I'd removed it |
| 15:49 | mat__ | all done! That will teach me to change the queue's |
| 15:50 | mat__ | oh another thing Ive notived, shell_plus from django extensions doesn't play nice with celery probably not an issue though |
| 15:51 | asksol | mat__: open up an issue describing what doesn't play well, sounds convenient to have it working |
| 15:51 | mat__ | basically shell_plus throws a nasty error saying queues are missing if you have multiple settings files |
| 15:51 | asksol | or is it "create an issue?" |
| 15:51 | mat__ | some with different queues |
| 15:52 | mat__ | either is right, ill go write it up in 2 mins |
| 15:55 | asksol | is there a rst2text tool? |
| 15:55 | asksol | or sphinx to text? |
| 15:55 | asksol | I know it's text, but I just want to strip the tags that would look funky in an e-mail |
| 15:56 | asksol | s/tags/markup |
| 15:57 | asksol | do you end sentences with an url with punctuation or not? what's the best practice? |
| 15:57 | asksol | i usually omit the punctuation, but it always feels weird |
| 15:58 | asksol | guess most software is able to extract the proper link anyway |
| 15:59 | padt | asksol: there are a bunch of punctuation rules that are weird for techical stuff. like periods are supposed to go inside parenthesis if parenthesis is at end of sentence. makes no sense |
| 16:10 | underseapilot | asksol, when the parent celeryd process gets a TERM, is there code in celeryd that catches it and passes it along? i only see the HUP handler. |
| 16:10 | asksol | multiprocessing should take care of that |
| 16:11 | underseapilot | got it |
| 16:11 | asksol | term just raises systemexit |
| 16:11 | asksol | so I catch that and terminate the pool |
| 16:12 | mat__ | asksol: dont know of a rest => text tools |
| 16:12 | asksol | I haven't seen this behaviour before, so there must be something with supervisord, no? |
| 16:12 | asksol | it works well with start-stop-daemon here at least |
| 16:12 | cskinfill | asksol: with celery 1.0 how do you use TaskSet with a function decorated with @task? Or to use TaskSet do I need to continue to define a class that extends Task? |
| 16:12 | mat__ | btw new queue system is running sweetly, is there anything I should avoid in doing a 0.9.8 to 1.0.0 update, or any backwards compatible issues? |
| 16:13 | underseapilot | asksol, could be, just diggin' around |
| 16:14 | asksol | mat__: nah, it's basically the same |
| 16:14 | asksol | |
| 16:14 | asksol | see from the 0.9.8 bump |
| 16:14 | asksol | mostly documentation, and two bug fixes |
| 16:15 | asksol | underseapilot: even when using KILL, the child processes are killed |
| 16:16 | underseapilot | asksol, is the exit handler in celery? can you point me at that? |
| 16:16 | asksol | the master process is the process leader, so if it dies, the others should die |
| 16:17 | asksol | afaik, to circumvent that the child processes must've setsid()ed |
| 16:17 | asksol | maybe I should verify this in the stevens book though |
| 16:17 | mat__ | asksol: sweet will update now then |
| 16:18 | asksol | underseapilot: http://github.com/ask/celery/blob/master/celery... |
| 16:19 | underseapilot | ah, the except SystemExit, got it. |
| 16:19 | asksol | maybe, try to replace the above finally: to except (SystemExit, KeyboardInterrupt) |
| 16:20 | asksol | are you using 0.8.x? |
| 16:20 | underseapilot | no, using latest from github |
| 16:20 | asksol | and you're not using --supervised or --detach? |
| 16:20 | asksol | ok |
| 16:21 | asksol | because multiprocessing does not seem to behave well if you fork() |
| 16:21 | asksol | which is why I removed them |
| 16:26 | underseapilot | anybody here using supervisord at the moment? |
| 16:28 | mat__ | asksol: Celery 1.0.0 deployed on all machines, not a single issue (yet... :) ) |
| 16:28 | asksol | :) |
| 16:28 | asksol | underseapilot: ianschenck uses it |
| 16:28 | mat__ | queues spiked to 600 items, just waiting for workers to catch up |
| 16:28 | asksol | I got example config files from him and someone else |
| 16:30 | underseapilot | asksol, i'm not so sure term raises systemexit |
| 16:30 | d0ugal | pip uninstall celery; pip install celery==0.8.2 --- I just don't have enough time to update all the servers today :( |
| 16:31 | underseapilot | asksol, ok so based on real use. thanks. |
| 16:45 | asksol | underseapilot: quick fix maybe, use INT instead of TERM |
| 16:46 | asksol | if there's an issue with term we should fix it though |
| 16:47 | underseapilot | yah, will send a diff if i get something working. |
| 16:47 | asksol | it seems you're right, neither system exit, or atexit handlers are called on TEMR |
| 16:47 | asksol | TERM |
| 16:48 | asksol | I guess multiprocessing does clean up on TERM though |
| 16:48 | asksol | but good to know if we need to run additional clean up tasks in the future :) |
| 16:50 | asksol | ah, it's on hacker news: http://news.ycombinator.com/item?id=1115220 |
| 16:56 | padt | asksol: you have some kind of logging on the celery site I guess? Would be interesting to see how much traffic comes in |
| 17:15 | Raydiation | gz too version 1.0.0 release :) |
| 17:16 | Raydiation | s/too/to |
| 17:21 | asksol | thanks :) |
| 17:29 | mat__ | asksol: strange qu, not just celery can you think why a management command would show up in manage.py help but when I run it say Unknown command: 'celeryd' |
| 17:31 | asksol | hmm |
| 17:31 | asksol | no |
| 17:31 | asksol | :/ |
| 17:32 | mat__ | must be an import |
| 17:32 | mat__ | doing that shell_plus bug report now |
| 18:02 | Raydiation | asksol: i will include celery in future releases of my project since there are no packages for ubuntu/debian/arch/gentoo |
| 18:02 | Raydiation | |
| 18:03 | Raydiation | what do i have to pay attention because of your license? |
| 18:04 | asksol | thanks for asking, but I don't know. just be nice :) |
| 18:04 | asksol | it's BSD, so you can pretty much do anything with it |
| 18:05 | asksol | you can also add it as a dependency |
| 18:05 | asksol | which is the most common way to do it |
| 18:06 | asksol | I see you don't have any setup.py ? |
| 18:08 | asksol | even though you can include it in your distribution, it's very inconvenient to manage |
| 18:09 | asksol | but if you expect your users to install it via the distro package manager, I guess you could maintain packages for us |
| 18:09 | asksol | especially you could ask what the hell is going on with the debian ITP: http://bugs.debian.org/cgi-bin/bugreport.cgi?bu... |
| 18:10 | asksol | I don't know how the debian package eco system works, but apparently they have made packages for celery |
| 18:13 | asksol | |
| 18:13 | asksol | ooh, seems its coming soon |
| 18:21 | Raydiation | asksol: ive got problems too with debian packaging, its just friggin complicated |
| 18:22 | Raydiation | asksol: ill exclude it if packages are released for the main distros |
| 18:22 | Raydiation | im currently trying to write an install bash script |