malinoff: you can do that if you want to, but not required
bullicon has quit
Nizumzen has quit
ronny_
anyone got an idea why result doesnt seem to get set until after the task is executed?
asksol
why would the result be set before the task is executed?
bkuberek joined the channel
ronny_
asksol: as far as i understood an update_state call will write the meta arg into result
asksol: i get the state name updated fr my task, but the meta i did send along isnt stored anywhere
asksol
the meta argument should be available in result.result
ronny_
asksol: so flower wont show it, but programs could extract it
italorossi joined the channel
b8sell joined the channel
asksol
flower doesn't use results at all
ronny_
asksol: there is a table row that shows them
im currently switchimg some legacy code that stored status updates in the database over to using celery builtin methods
asksol
no, flower does not use results, monitors use events
ronny_
asksol: when i click a task in the tasks tab, flower shows the results - so i thought tht was the actual task result
asksol: so flower will only load the result of a completed task?
malinoff
ronny_: asksol tries to say that the result you can see in flower is not received from result backend, but from event that celery fired right after the task has finished
ronny_
i see
so i'll proceed with the rest, thanks for the clarification
Ergo has quit
al1o has quit
so bascially all i do uses the sync api, but flower does all via events, thus i should expect differences inthe data i see due to different perspective
asksol
flower subscribes to events, and is completely separated from the result backend. it does not use results for anything. Results are not used for monitoring, since they may be private to the process that requested the task, cannot be truncated and platform specific
Havenspark joined the channel
dwt joined the channel
rbu joined the channel
dwt
Hi there, I just noticed a recurring job circulating through our rabbitmq infrastructure, that looks like the terminating job of a chord.
but: what do I do about the messages circulating in my message queue and clogging it up?
Ergo joined the channel
malinoff has quit
Frosh joined the channel
lduros joined the channel
emperorcezar joined the channel
ronny_
is there any common pattern to ensure some tasks run serial per set of signifikant parameters?
dwt
ronny_: take a look at chord's
bkuberek has quit
ionelmc has quit
paltman_ joined the channel
paltman_ is now known as realpaltman
ronny_
dwt: doesnt look correct
dwt: i want at a single time no more than one of a certain task with a certain parameter
paltman has quit
dwt
Well you can use chords to just chain them together that all of them are chained
then no two of them will execute at the same time
realpaltman is now known as paltman
rbu
use only one worker
while that was a joke, you could create a special queue for this kind of task and only have one worker for it
ronny_
dwt: then i'd have to findd the old one
bullicon joined the channel
dwt
ronny_: Well, preferably you create them all at once. Then you can set up the chord and forget about all of it afterwards
ronny_
dwt: because something like user a on webserver 1 starts it and user b on webserver 2 starts the same task with the same parameters
dwt
Too bad.
Then it probably doesn't work
rbu's suggestion looks serviceable though
emperorcezar has quit
ronny_
rbu: 2 tasks of that type may run in parallel if, and only if the parameters are different
(it seems like this is begging for some extra tracking)
dwt
It does.
rbu
tasks can store their parameters in a memcache/key value store before starting
something like redis
... which you can also use to implement celery over
Havenspark has quit
al1o joined the channel
al1o has quit
al1o joined the channel
al1o has quit
al1o joined the channel
al1o has quit
al1o joined the channel
al1o has quit
brouberol joined the channel
al1o joined the channel
al1o has quit
al1o joined the channel
al1o has quit
al1o joined the channel
al1o has quit
ronny_
hmm
al1o joined the channel
how would i create a redis task in a way that it only succeeds if i can also atomically put its key into a mapping where it shouldnt exist
or is there a different approach
brouberol
hi all. I'm struggling a bit with tasks group. I have a task receiving a report, containing several base64 encoded images. I send each b64 to a subtask, in charge of decoding the image to byes, saving it to the disk, uploading it and returning its url.
How am I to gather the results of all subtasks in the group without using get() ?
When I do, I get a warning "RuntimeWarning: Never call result.get() within a task!"
to be clearer, I need to gather the results of all subtasks in the calling task, and insert these results in DB
logix812 has quit
bigkevmcd joined the channel
lior joined the channel
lior
Hi - I have a question regarding the python inspect() interface.
wenzhixue joined the channel
Anyone who might be able to help?
rbu has left the channel
bkuberek joined the channel
paltman has left the channel
bkuberek_ joined the channel
lior has quit
bkuberek has quit
al1o has quit
tyrannosaurus_be joined the channel
ustunozgur joined the channel
emperorcezar joined the channel
citizen-stig has quit
zz_gondoi is now known as gondoi
emperorc_ joined the channel
emperorcezar has quit
celhead joined the channel
al1o joined the channel
al1o has quit
al1o joined the channel
al1o has quit
al1o joined the channel
al1o has quit
al1o joined the channel
domino14 joined the channel
domino14 has quit
domino14 joined the channel
Ergo has quit
jessepollak joined the channel
Ergo joined the channel
domino14 has quit
emperorc_ has quit
emperorcezar joined the channel
gondoi is now known as zz_gondoi
SoftwareMaven joined the channel
cjellick joined the channel
Nizumzen joined the channel
cjellick has quit
cjellick joined the channel
zz_gondoi is now known as gondoi
logix812 joined the channel
jessepollak has quit
jessepollak joined the channel
frodopwns1 joined the channel
frodopwns1
can you chain tasks without passing the result of the first task to the second? Or should I just ignore the argument if I don't need it?