o
    wvXj4  ã                   @   s‚   d Z ddlmZmZ ddlZddlmZ ddlmZm	Z	 ddl
mZmZmZ dZe ZG dd	„ d	eƒZd
d„ Zedkr?eƒ  dS dS )a­  The :program:`celery events` command.

.. program:: celery events

.. seealso::

    See :ref:`preload-options` and :ref:`daemon-options`.

.. cmdoption:: -d, --dump

    Dump events to stdout.

.. cmdoption:: -c, --camera

    Take snapshots of events using this camera.

.. cmdoption:: --detach

    Camera: Detach and run in the background as a daemon.

.. cmdoption:: -F, --freq, --frequency

    Camera: Shutter frequency.  Default is every 1.0 seconds.

.. cmdoption:: -r, --maxrate

    Camera: Optional shutter rate limit (e.g., 10/m).

.. cmdoption:: -l, --loglevel

    Logging level, choose between `DEBUG`, `INFO`, `WARNING`,
    `ERROR`, `CRITICAL`, or `FATAL`.  Default is INFO.

.. cmdoption:: -f, --logfile

    Path to log file.  If no logfile is specified, `stderr` is used.

.. cmdoption:: --pidfile

    Optional file used to store the process pid.

    The program won't start if this file already exists
    and the pid is still alive.

.. cmdoption:: --uid

    User id, or user name of the user to run as after detaching.

.. cmdoption:: --gid

    Group id, or group name of the main group to change to after
    detaching.

.. cmdoption:: --umask

    Effective umask (in octal) of the process after detaching.  Inherits
    the umask of the parent process by default.

.. cmdoption:: --workdir

    Optional directory to change to after detaching.

.. cmdoption:: --executable

    Executable to use for the detached process.
é    )Úabsolute_importÚunicode_literalsN)Úpartial)ÚCommandÚdaemon_options)ÚdetachedÚset_process_titleÚstrargv)Úeventsc                   @   s\   e Zd ZdZeZdZ				ddd„Zd	d
„ Zdd„ Z				ddd„Z
ddd„Zdd„ ZdS )r
   a4  Event-stream utilities.

    Notes:
        .. code-block:: console

            # - Start graphical monitor (requires curses)
            $ celery events --app=proj
            $ celery events -d --app=proj
            # - Dump events to screen.
            $ celery events -b amqp://
            # - Run snapshot camera.
            $ celery events -c <camera> [options]

    Examples:
        .. code-block:: console

            $ celery events
            $ celery events -d
            $ celery events -c mod.attr -F 1.0 --detach --maxrate=100/m -l info
    FNç      ð?ÚINFOúcelery eventsc                 K   s>   || _ |r	|  ¡ S |r| j|||||||	|
|||d�S |  ¡ S )N)
ÚfreqÚmaxrateÚloglevelÚlogfileÚpidfileÚuidÚgidÚumaskÚworkdirÚdetach)Ú	prog_nameÚ
run_evdumpÚ	run_evcamÚ	run_evtop)ÚselfÚdumpÚcameraÚ	frequencyr   r   r   r   r   r   r   r   r   r   Úkwargs© r!   úN/var/www/html/myproject/venv/lib/python3.10/site-packages/celery/bin/events.pyÚrunj   s   
ûz
events.runc                 C   ó"   ddl m} |  d¡ || jd�S )Nr   )Úevdumpr   ©Úapp)Úcelery.events.dumperr%   Úset_process_statusr'   )r   r%   r!   r!   r"   r   {   ó   
zevents.run_evdumpc                 C   r$   )Nr   )ÚevtopÚtopr&   )Úcelery.events.cursesmonr+   r)   r'   )r   r+   r!   r!   r"   r   €   r*   zevents.run_evtopc	                 K   s~   ddl m}
 |  d¡ | j|	d< t|
|f||dœ|	¤Ž}|r<t||||||ƒ� |ƒ W  d   ƒ S 1 s5w   Y  d S |ƒ S )Nr   )ÚevcamÚcamr'   )r   r   )Úcelery.events.snapshotr.   r)   r'   r   r   )r   r   r   r   r   r   r   r   r   r    r.   r/   r!   r!   r"   r   …   s   

ÿÿ$ÿzevents.run_evcamÚ c                 C   s,   d  | j|¡}d  |ttjƒ¡}t||d�S )Nz{0}:{1}z{0} {1})Úinfo)Úformatr   r	   ÚsysÚargvr   )r   Úprogr2   r!   r!   r"   r)   ”   s   zevents.set_process_statusc                 C   s¨   |  d¡}|jddddd� |  d¡}| dd	¡ |jd
ddd� |jdddtdd� | dd¡ |jdddd� t|dd� | jjd }|rR|  |  d¡|¡ d S d S )NÚDumperz-dz--dumpÚ
store_trueF)ÚactionÚdefaultÚSnapshotz-cz--cameraz--detachz-Fz--frequencyz--freqr   )Útyper:   z-rz	--maxratez-lz
--loglevelr   )r:   zceleryev.pid)Údefault_pidfiler
   zUser Options)Úadd_argument_groupÚadd_argumentÚfloatr   r'   Úuser_optionsÚadd_compat_options)r   ÚparserÚdoptsÚcoptsrA   r!   r!   r"   Úadd_arguments™   s$   


ÿþÿzevents.add_arguments)FNr   Nr   Nr   NNNNNF)NNNNNNF)r1   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚHELPÚdocÚsupports_argsr#   r   r   r   r)   rF   r!   r!   r!   r"   r
   Q   s"    
ý
þ
r
   c                  C   s   t ƒ } |  ¡  d S )N)r
   Úexecute_from_commandline)Úevr!   r!   r"   Úmain®   s   rP   Ú__main__)rJ   Ú
__future__r   r   r4   Ú	functoolsr   Úcelery.bin.baser   r   Úcelery.platformsr   r   r	   Ú__all__rK   r
   rP   rG   r!   r!   r!   r"   Ú<module>   s   B]
ÿ