@@ -430,3 +430,158 @@ class AuditBase:
430
430
431
431
deleted_date : Optional [datetime ] = None
432
432
deleted_by : Optional [str ] = None
433
+
434
+
435
+ class BackgroundJobState (str , Enum ):
436
+ QUEUED = 'Queued'
437
+ STARTED = 'Started'
438
+ EXECUTED = 'Executed'
439
+ COMPLETED = 'Completed'
440
+ FAILED = 'Failed'
441
+ CANCELLED = 'Cancelled'
442
+
443
+ @dataclass_json (letter_case = LetterCase .CAMEL , undefined = Undefined .EXCLUDE )
444
+ @dataclass
445
+ class JobStatSummary :
446
+ name : Optional [str ] = None
447
+ total : int = 0
448
+ completed : int = 0
449
+ retries : int = 0
450
+ failed : int = 0
451
+ cancelled : int = 0
452
+
453
+ @dataclass_json (letter_case = LetterCase .CAMEL , undefined = Undefined .EXCLUDE )
454
+ @dataclass
455
+ class HourSummary :
456
+ hour : Optional [str ] = None
457
+ total : int = 0
458
+ completed : int = 0
459
+ failed : int = 0
460
+ cancelled : int = 0
461
+
462
+ @dataclass_json (letter_case = LetterCase .CAMEL , undefined = Undefined .EXCLUDE )
463
+ @dataclass
464
+ class WorkerStats :
465
+ name : Optional [str ] = None
466
+ queued : int = 0
467
+ received : int = 0
468
+ completed : int = 0
469
+ retries : int = 0
470
+ failed : int = 0
471
+ running_job : Optional [int ] = None
472
+ running_time : Optional [datetime .timedelta ] = None
473
+
474
+ @dataclass_json (letter_case = LetterCase .CAMEL , undefined = Undefined .EXCLUDE )
475
+ @dataclass
476
+ class BackgroundJobBase :
477
+ id : int = 0
478
+ parent_id : Optional [int ] = None
479
+ ref_id : Optional [str ] = None
480
+ worker : Optional [str ] = None
481
+ tag : Optional [str ] = None
482
+ batch_id : Optional [str ] = None
483
+ callback : Optional [str ] = None
484
+ depends_on : Optional [int ] = None
485
+ run_after : Optional [datetime .datetime ] = None
486
+ created_date : datetime .datetime = datetime .datetime (1 , 1 , 1 )
487
+ created_by : Optional [str ] = None
488
+ request_id : Optional [str ] = None
489
+ request_type : Optional [str ] = None
490
+ command : Optional [str ] = None
491
+ request : Optional [str ] = None
492
+ request_body : Optional [str ] = None
493
+ user_id : Optional [str ] = None
494
+ response : Optional [str ] = None
495
+ response_body : Optional [str ] = None
496
+ state : Optional [BackgroundJobState ] = None
497
+ started_date : Optional [datetime .datetime ] = None
498
+ completed_date : Optional [datetime .datetime ] = None
499
+ notified_date : Optional [datetime .datetime ] = None
500
+ retry_limit : Optional [int ] = None
501
+ attempts : int = 0
502
+ duration_ms : int = 0
503
+ timeout_secs : Optional [int ] = None
504
+ progress : Optional [float ] = None
505
+ status : Optional [str ] = None
506
+ logs : Optional [str ] = None
507
+ last_activity_date : Optional [datetime .datetime ] = None
508
+ reply_to : Optional [str ] = None
509
+ error_code : Optional [str ] = None
510
+ error : Optional [ResponseStatus ] = None
511
+ args : Optional [Dict [str , str ]] = None
512
+ meta : Optional [Dict [str , str ]] = None
513
+
514
+ @dataclass_json (letter_case = LetterCase .CAMEL , undefined = Undefined .EXCLUDE )
515
+ @dataclass
516
+ class BackgroundJob (BackgroundJobBase ):
517
+ id : int = 0
518
+
519
+ @dataclass_json (letter_case = LetterCase .CAMEL , undefined = Undefined .EXCLUDE )
520
+ @dataclass
521
+ class JobSummary :
522
+ id : int = 0
523
+ parent_id : Optional [int ] = None
524
+ ref_id : Optional [str ] = None
525
+ worker : Optional [str ] = None
526
+ tag : Optional [str ] = None
527
+ batch_id : Optional [str ] = None
528
+ created_date : datetime .datetime = datetime .datetime (1 , 1 , 1 )
529
+ created_by : Optional [str ] = None
530
+ request_type : Optional [str ] = None
531
+ command : Optional [str ] = None
532
+ request : Optional [str ] = None
533
+ response : Optional [str ] = None
534
+ user_id : Optional [str ] = None
535
+ callback : Optional [str ] = None
536
+ started_date : Optional [datetime .datetime ] = None
537
+ completed_date : Optional [datetime .datetime ] = None
538
+ state : Optional [BackgroundJobState ] = None
539
+ duration_ms : int = 0
540
+ attempts : int = 0
541
+ error_code : Optional [str ] = None
542
+ error_message : Optional [str ] = None
543
+
544
+ @dataclass_json (letter_case = LetterCase .CAMEL , undefined = Undefined .EXCLUDE )
545
+ @dataclass
546
+ class BackgroundJobOptions :
547
+ ref_id : Optional [str ] = None
548
+ parent_id : Optional [int ] = None
549
+ worker : Optional [str ] = None
550
+ run_after : Optional [datetime .datetime ] = None
551
+ callback : Optional [str ] = None
552
+ depends_on : Optional [int ] = None
553
+ user_id : Optional [str ] = None
554
+ retry_limit : Optional [int ] = None
555
+ reply_to : Optional [str ] = None
556
+ tag : Optional [str ] = None
557
+ batch_id : Optional [str ] = None
558
+ created_by : Optional [str ] = None
559
+ timeout_secs : Optional [int ] = None
560
+ timeout : Optional [datetime .timedelta ] = None
561
+ args : Optional [Dict [str , str ]] = None
562
+ run_command : Optional [bool ] = None
563
+
564
+ @dataclass_json (letter_case = LetterCase .CAMEL , undefined = Undefined .EXCLUDE )
565
+ @dataclass
566
+ class ScheduledTask :
567
+ id : int = 0
568
+ name : Optional [str ] = None
569
+ interval : Optional [datetime .timedelta ] = None
570
+ cron_expression : Optional [str ] = None
571
+ request_type : Optional [str ] = None
572
+ command : Optional [str ] = None
573
+ request : Optional [str ] = None
574
+ request_body : Optional [str ] = None
575
+ options : Optional [BackgroundJobOptions ] = None
576
+ last_run : Optional [datetime .datetime ] = None
577
+ last_job_id : Optional [int ] = None
578
+
579
+ @dataclass_json (letter_case = LetterCase .CAMEL , undefined = Undefined .EXCLUDE )
580
+ @dataclass
581
+ class CompletedJob (BackgroundJobBase ):
582
+ pass
583
+
584
+ @dataclass_json (letter_case = LetterCase .CAMEL , undefined = Undefined .EXCLUDE )
585
+ @dataclass
586
+ class FailedJob (BackgroundJobBase ):
587
+ pass
0 commit comments