2010-2-23
| 16:00 | padt | Oh goody. bug is unassigned |
| 16:01 | asksol | but not closed? :) |
| 16:01 | padt | |
| 16:01 | padt | Everything might have changed now though. This was in may last yera |
| 16:02 | asksol | it's accepted at least |
| 16:02 | asksol | during triage |
| 16:02 | padt | |
| 16:04 | pingwin | so most of you guys are django developers also? :) nice |
| 16:05 | padt | Not me. Stuck in javascript hell :b |
| 16:05 | padt | well, that's what they pay me for anyway |
| 16:05 | pingwin | yikes |
| 16:05 | pingwin | sorry mate |
| 16:06 | asksol | i'm working on django projects, but I deserve it, as before recently I was working on the messiest perl project ever (a soup of CGI/mod_perl) |
| 16:07 | pingwin | nasty |
| 16:07 | pingwin | I've been using django for production development on a few applications for about 18 months now |
| 16:07 | pingwin | learned python to use django :P |
| 16:07 | pingwin | was SOOO happy to leave PHP behind |
| 16:08 | asksol | hehe, ok. PHP. then you deserve it too |
| 16:08 | pingwin | yeah ~7 years of PHP |
| 16:11 | asksol | <3 python |
| 16:12 | asksol | with php and perl, I frequently stumpled upon some really hairy code, but that doesn't happen much in the python world |
| 16:12 | asksol | stumbled |
| 16:12 | apollo13 | asksol: to clarify, .update and .delete don't call save()/delete() or any signals, the admin multiple delete action is an exception, it loops through the queryset and sends the signals, but does .delete on the qs and not on the objects |
| 16:13 | asksol | apollo13: but I think it did. at some point at least |
| 16:14 | apollo13 | oh wait it doesn't fire signals either |
| 16:14 | apollo13 | eeeks, but it logs deletion for every object :þ |
| 16:15 | asksol | django.db.models.query.delete_objects |
| 16:15 | asksol | # Pre-notify all instances to be deleted. |
| 16:16 | asksol | it calls both pre_delete and post_delete |
| 16:16 | asksol | I think, without having read the whole code again |
| 16:16 | stovenator | asksol : never quite got finished asking you yesterday if there's a way to add/delete/change periodic tasks after beat starts, and ended up just going through the code to try to figure it out |
| 16:17 | apollo13 | asksol: indeed, I just looked into admin actions… |
| 16:17 | asksol | stovenator: i sent you a tweet (if @stovenator is you) |
| 16:17 | stovenator | oh, haven't looked yet |
| 16:17 | stovenator | but it looks like what I want to do won't work anyhow, as the next() function in beat seems to make use of the class attribute "name" and not of an instance attribute |
| 16:17 | asksol | stovenator: you have to restart celerybeat, there's no support for stuff like that yet |
| 16:17 | asksol | it would be nice to have at some point |
| 16:18 | asksol | would be easy to make your own celerybeat though |
| 16:18 | asksol | one that reads configuration from a database for example |
| 16:18 | stovenator | yeah, I was thinking of trying to make use of sched perhaps |
| 16:19 | asksol | not sure sched would be a good fit when reading from a database |
| 16:20 | asksol | I actually use sched in celeryd for the eta tasks |
| 16:21 | stovenator | I don't want to have to read the config info in at every cycle, so something with an interrupt would be nice |
| 16:22 | asksol | you could re-read the database config when receiving the HUP signal for example. if you also reload it every 5 minutes or so, it would probably work fine |
| 16:37 | stovenator | is there a reason why the Task and PeriodicTask classes make use of class attributes, and not instance attributes? |
| 16:39 | asksol | what do you mean? |
| 16:39 | asksol | it takes use of both |
| 16:39 | asksol | or, it always reads from an instance to be exact |
| 16:39 | stovenator | it seems to always want to find a task by it's __class__.name |
| 16:40 | asksol | what seems to want that? |
| 16:40 | stovenator | possible only the periodictask |
| 16:40 | asksol | not sure, maybe the shelve is pickling them |
| 16:41 | asksol | what is the error? |
| 16:41 | stovenator | Couldn't apply scheduled task MyTask of type None |
| 16:42 | stovenator | let me reconstruct my class... cause I messed it up doing some code exploration |
| 16:54 | stovenator | Given the following code: http://pastebin.com/AnUhAvQd |
| 16:54 | stovenator | there's no way to register both tasks |
| 16:55 | stovenator | the class name is pulled, and only a single instance can be added |
| 17:14 | asksol | stovenator: you can't do that |
| 17:15 | asksol | you need to make a new class |
| 17:15 | asksol | maybe it could be considered a bug, i'm not sure yet |
| 17:33 | stovenator | It would be nice to be able to use the instance |
| 18:28 | heedly | what other message queues can celery use? |
| 18:39 | otherjacob | stomp and rabbit are the only two supported queues i know of |
| 18:39 | otherjacob | redis and sql databaes being the other backends |
| 18:39 | otherjacob | any reason you can't go with rabbit? |
| 18:43 | heedly | it's horrible :( |
| 18:43 | heedly | mqing from like 3 machines eats a core |
| 18:43 | heedly | it hella leaks |
| 18:43 | heedly | permissions are difficult |
| 18:43 | heedly | etc... |
| 18:45 | otherjacob | rabbit really shouldn't be doing all that much but brokering in most setups i can think of where celery comes to play. ihaven't had any leaks or performance issues |
| 18:45 | otherjacob | your millege varies, i suppose |
| 18:49 | pingwin | can you set a model method to be a task? |
| 18:49 | pingwin | or would it loose all context? |
| 18:49 | heedly | otherjacob: have you ever used redis? |
| 18:50 | otherjacob | heedly: not for celery, but i've heard people having pretty good results |
| 18:50 | otherjacob | i'm not sure at what scale |
| 20:22 | asksol | heedly: I don't know, but that's not my experience with rabbitmq at all |
Page 2 of 2
← Previous
(179 total)