#celery

/

      • asksol
      • 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.
      • There seems to also be a bug about this: https://github.com/celery/celery/issues/1700
      • So I'm hopefull this will be fixed in the future
      • 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?
      • lduros has quit
      • Ergo has quit
      • jessepollak has quit
      • jessepollak joined the channel
      • logix812 has quit
      • jessepol_ joined the channel
      • jessepollak has quit
      • logix812 joined the channel
      • asksol
        frodopwns1: see immutable subtasks
      • mariusz_ has left the channel
      • emperorcezar has quit