Celery works, but doesn't work with a flower

I installed celery and RabitMQ and flower. I can go to the flower port. I have the following simple worker that I can attach to celery and call from a python program:

# -*- coding: utf-8 -*-
"""
Created on Sat Dec 12 16:37:33 2015

@author: idf
"""

from celery import Celery

app = Celery('tasks', broker='amqp://guest@localhost//')

@app.task
def add(x, y):
    return x + y 

      

This program calls it

# -*- coding: utf-8 -*-
"""
Created on Sat Dec 12 16:40:16 2015

@author: idf
"""

from tasks import add

add.delay(36, 5)   

      

I start celery like this:

idf@DellInsp:~/Documents/Projects/python3$ celery -A tasks worker --loglevel=info
    [2015-12-12 19:22:46,223: WARNING/MainProcess] /home/idf/anaconda3/lib/python3.5/site-packages/celery/apps/worker.py:161: CDeprecationWarning: 
    Starting from version 3.2 Celery will refuse to accept pickle by default.

    The pickle serializer is a security concern as it may give attackers
    the ability to execute any command.  It important to secure
    your broker from unauthorized access when using pickle, so we think
    that enabling pickle should require a deliberate action and not be
    the default choice.

    If you depend on pickle then you should set a setting to disable this
    warning and to be sure that everything will continue working
    when you upgrade to Celery 3.2::

        CELERY_ACCEPT_CONTENT = ['pickle', 'json', 'msgpack', 'yaml']

    You must only enable the serializers that you will actually use.


      warnings.warn(CDeprecationWarning(W_PICKLE_DEPRECATED))

     -------------- celery@DellInsp v3.1.19 (Cipater)
    ---- **** ----- 
    --- * ***  * -- Linux-3.19.0-39-lowlatency-x86_64-with-debian-jessie-sid
    -- * - **** --- 
    - ** ---------- [config]
    - ** ---------- .> app:         tasks:0x7f61485e61d0
    - ** ---------- .> transport:   amqp://guest:**@localhost:5672//
    - ** ---------- .> results:     disabled
    - *** --- * --- .> concurrency: 4 (prefork)
    -- ******* ---- 
    --- ***** ----- [queues]
     -------------- .> celery           exchange=celery(direct) key=celery


    [tasks]
      . tasks.add

    [2015-12-12 19:22:46,250: INFO/MainProcess] Connected to amqp://guest:**@127.0.0.1:5672//
    [2015-12-12 19:22:46,267: INFO/MainProcess] mingle: searching for neighbors
    [2015-12-12 19:22:47,275: INFO/MainProcess] mingle: all alone
    [2015-12-12 19:22:47,286: WARNING/MainProcess] celery@DellInsp ready.
    [2015-12-12 19:22:47,288: INFO/MainProcess] Received task: tasks.add[3c0e5317-ac53-465e-a8fd-3e2861e31db6]
    [2015-12-12 19:22:47,289: INFO/MainProcess] Task tasks.add[3c0e5317-ac53-465e-a8fd-3e2861e31db6] succeeded in 0.00045899399992777035s: 41

^C
worker: Hitting Ctrl+C again will terminate all running tasks!

worker: Warm shutdown (MainProcess)

      

Pay attention to the correct conclusion 41

However, if I pass in the parameter flower

, nothing happens when I make the call. I also don't see any tasks on the website flower

.

idf@DellInsp:~/Documents/Projects/python3$ celery flower -A tasks worker --loglevel=info
[I 151212 19:23:59 command:113] Visit me at http://localhost:5555
[I 151212 19:23:59 command:115] Broker: amqp://guest:**@localhost:5672//
[I 151212 19:23:59 command:118] Registered tasks: 
    ['celery.backend_cleanup',
     'celery.chain',
     'celery.chord',
     'celery.chord_unlock',
     'celery.chunks',
     'celery.group',
     'celery.map',
     'celery.starmap',
     'tasks.add']
[I 151212 19:23:59 mixins:231] Connected to amqp://guest:**@127.0.0.1:5672//
[W 151212 19:24:01 control:44] 'stats' inspect method failed
[W 151212 19:24:01 control:44] 'active_queues' inspect method failed
[W 151212 19:24:01 control:44] 'registered' inspect method failed
[W 151212 19:24:01 control:44] 'scheduled' inspect method failed
[W 151212 19:24:01 control:44] 'active' inspect method failed
[W 151212 19:24:01 control:44] 'reserved' inspect method failed
[W 151212 19:24:01 control:44] 'revoked' inspect method failed
[W 151212 19:24:01 control:44] 'conf' inspect method failed
^Cidf@DellInsp:~/Documents/Projects/python3$ 

      

Finally, not sure if this is a bug, but my flower site does not have a working tab.

+2


source to share


1 answer


I'm not sure I understood, but do you work with both the flower and the worker together? The flower does not handle tasks. You must run both, then Flower can be used as a monitoring tool.

Celery Launch:

celery -A tasks worker --loglevel=info

      



Open up another shell and start the flower:

celery -A tasks flower --loglevel=info

      

Then go to http: // localhost: 5555 and contact your worker. Of course, you have to complete some task if you want to see something.

+10


source







All Articles