Skip to content
This repository has been archived by the owner on Nov 17, 2018. It is now read-only.

auto register tasks, and fix server bugs #17

Merged
merged 2 commits into from Aug 16, 2013
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.rst
Expand Up @@ -36,7 +36,7 @@ Calling tasks with generator-based interface: ::

tornado-celery can be launched as a web server: ::

$ python -m tcelery --port=8888
$ python -m tcelery --port=8888 --app=proj.celery:celery --address=0.0.0.0

Execute a task asynchronously: ::

Expand Down
3 changes: 2 additions & 1 deletion tcelery/__init__.py
Expand Up @@ -21,7 +21,8 @@ def setup_nonblocking_producer(celery_app=None, io_loop=None,
NonBlockingTaskProducer.app = celery_app
NonBlockingTaskProducer.conn_pool = ConnectionPool(limit=limit)
NonBlockingTaskProducer.result_cls = result_cls
celery.app.amqp.AMQP.producer_cls = NonBlockingTaskProducer
if celery_app.conf['BROKER_URL'] and celery_app.conf['BROKER_URL'].startswith('amqp'):
celery.app.amqp.AMQP.producer_cls = NonBlockingTaskProducer

def connect():
broker_url = celery_app.connection().as_uri(include_password=True)
Expand Down
10 changes: 8 additions & 2 deletions tcelery/__main__.py
Expand Up @@ -12,9 +12,11 @@

from .app import Application
from . import setup_nonblocking_producer
from celery.loaders.base import BaseLoader


define("port", default=8888, type=bool, help="run on the given port")
define("port", default=8888, type=int, help="run on the given port")
define("address", default='127.0.0.1', type=str, help="the bind address")


class TCeleryCommand(Command):
Expand All @@ -25,7 +27,11 @@ def run_from_argv(self, prog_name, argv=None):

logging.info("Starting http server on port %s..." % options.port)
http_server = httpserver.HTTPServer(Application(celery_app=self.app))
http_server.listen(options.port)
http_server.listen(options.port, options.address)

bloader = BaseLoader()
bloader.import_default_modules()

logging.info("Registered tasks:")
logging.info(pformat(self.app.tasks.keys()))

Expand Down