celery.contrib.testing.worker

API Reference

Embedded workers for integration tests.

class celery.contrib.testing.worker.TestWorkController(*args: Any, **kwargs: Any)[源代码]

Worker that can synchronize on being fully started.

class QueueHandler(queue)[源代码]
handleError(record)[源代码]

Handle errors which occur during an emit() call.

This method should be called from handlers when an exception is encountered during an emit() call. If raiseExceptions is false, exceptions get silently ignored. This is what is mostly wanted for a logging system - most users will not care about errors in the logging system, they are more interested in application errors. You could, however, replace this with a custom handler if you wish. The record which was being processed is passed in to this method.

prepare(record)[源代码]

Prepare a record for queuing. The object returned by this method is enqueued.

The base implementation formats the record to merge the message and arguments, and removes unpickleable items from the record in-place. Specifically, it overwrites the record's msg and message attributes with the merged message (obtained by calling the handler's format method), and sets the args, exc_info and exc_text attributes to None.

You might want to override this method if you want to convert the record to a dict or JSON string, or send a modified copy of the record while leaving the original intact.

ensure_started() None[源代码]

Wait for worker to be fully up and running.

警告

Worker must be started within a thread for this to work, or it will block forever.

logger_queue = None
on_consumer_ready(consumer: Consumer) None[源代码]

Callback called when the Consumer blueprint is fully started.

start()[源代码]
celery.contrib.testing.worker.setup_app_for_worker(app: Celery, loglevel: str | int, logfile: str) None[源代码]

Setup the app to be used for starting an embedded worker.

celery.contrib.testing.worker.start_worker(app: Celery, concurrency: int = 1, pool: str = 'solo', loglevel: str | int = 'error', logfile: str = None, perform_ping_check: bool = True, ping_task_timeout: float = 10.0, shutdown_timeout: float = 10.0, **kwargs: Any) Iterable[源代码]

Start embedded worker.

生成器:

celery.app.worker.Worker -- worker instance.