Ë
    Ìô@i(  ã                   ó$   — d Z ddlmZ dedefd„Zy)z(
Decorators for registering cron tasks.
é    )ÚTaskRegistryÚnameÚcodec                 ó   ‡ ‡‡— ˆˆˆ fd„}|S )a  
    Decorator for registering a cron task.
    
    Args:
        name: Task name (e.g., 'calc-commission')
        code: Task code (e.g., 'A001')
        **config: Task configuration options:
            - execution_pattern: Execution pattern (STANDARD, ALWAYS, RERUN_ON_FAILURE, RATE_LIMITED)
            - retry_on_failure: Whether to retry on failure (default: False)
            - max_retries: Maximum number of retries (default: 0)
            - retry_delay: Delay between retries in seconds (default: 300)
            - timeout: Task timeout in seconds (default: None)
    
    Example:
        @register_task('calc-commission', 'A001',
                      execution_pattern=ExecutionPattern.RERUN_ON_FAILURE,
                      retry_on_failure=True,
                      max_retries=3,
                      timeout=3600)
        class CalcCommissionTask(CronTask):
            def execute(self, date: date) -> dict:
                # Business logic
                return {'error': False, 'message': 'Success'}
    c                 ó8   •— t        j                  ‰‰| fi ‰¤Ž | S )N)r   Úregister)Úclsr   Úconfigr   s    €€€úS/home/cursorai/projects/django-cronjob-utils/src/django_cronjob_utils/decorators.pyÚ	decoratorz register_task.<locals>.decorator!   s   ø€ Ü×Ñ˜d D¨#Ñ8°Ò8Øˆ
ó    © )r   r   r
   r   s   ``` r   Úregister_taskr      s   ú€ ö2ð Ðr   N)Ú__doc__Údjango_cronjob_utils.registryr   Ústrr   r   r   r   Ú<module>r      s"   ðñõ 7ð˜ð  3ô r   