|
66 | 66 | # BILHETAGEM INTEGRAÇÃO - CAPTURA A CADA MINUTO # |
67 | 67 |
|
68 | 68 | bilhetagem_integracao_captura = deepcopy(default_capture_flow) |
69 | | -bilhetagem_integracao_captura.name = "SMTR: Bilhetagem Integração - Captura" |
| 69 | +bilhetagem_integracao_captura.name = "SMTR: Bilhetagem Integração - Captura (subflow)" |
70 | 70 | bilhetagem_integracao_captura.storage = GCS(emd_constants.GCS_FLOWS_BUCKET.value) |
71 | 71 | bilhetagem_integracao_captura.run_config = KubernetesRun( |
72 | 72 | image=emd_constants.DOCKER_IMAGE.value, |
|
79 | 79 | | constants.BILHETAGEM_INTEGRACAO_CAPTURE_PARAMS.value, |
80 | 80 | ) |
81 | 81 |
|
82 | | -bilhetagem_integracao_captura.schedule = every_minute |
83 | 82 |
|
84 | 83 | # BILHETAGEM GPS - CAPTURA A CADA 5 MINUTOS # |
85 | 84 |
|
|
295 | 294 | raise_final_state=True, |
296 | 295 | ) |
297 | 296 |
|
298 | | - # Recaptura Integração |
299 | | - |
300 | | - run_recaptura_integracao = create_flow_run( |
301 | | - flow_name=bilhetagem_recaptura.name, |
302 | | - project_name=emd_constants.PREFECT_DEFAULT_PROJECT.value, |
303 | | - labels=LABELS, |
304 | | - parameters=constants.BILHETAGEM_INTEGRACAO_CAPTURE_PARAMS.value, |
305 | | - upstream_tasks=[wait_recaptura_transacao_true], |
306 | | - ) |
307 | | - |
308 | | - wait_recaptura_integracao_true = wait_for_flow_run( |
309 | | - run_recaptura_integracao, |
310 | | - stream_states=True, |
311 | | - stream_logs=True, |
312 | | - raise_final_state=True, |
313 | | - ) |
314 | | - |
315 | 297 | # Captura Auxiliar |
316 | 298 |
|
317 | 299 | runs_captura = create_flow_run.map( |
|
321 | 303 | labels=unmapped(LABELS), |
322 | 304 | ) |
323 | 305 |
|
324 | | - runs_captura.set_upstream(wait_recaptura_integracao_true) |
| 306 | + runs_captura.set_upstream(wait_recaptura_transacao_true) |
325 | 307 |
|
326 | 308 | wait_captura_true = wait_for_flow_run.map( |
327 | 309 | runs_captura, |
|
353 | 335 | wait_captura_false, |
354 | 336 | wait_recaptura_auxiliar_false, |
355 | 337 | wait_recaptura_transacao_false, |
356 | | - wait_recaptura_integracao_false, |
357 | 338 | ) = task( |
358 | | - lambda: [None, None, None, None], name="assign_none_to_capture_runs", nout=4 |
| 339 | + lambda: [None, None, None], name="assign_none_to_capture_runs", nout=3 |
359 | 340 | )() |
360 | 341 |
|
361 | 342 | wait_captura = merge(wait_captura_false, wait_captura_true) |
|
365 | 346 | wait_recaptura_transacao = merge( |
366 | 347 | wait_recaptura_transacao_false, wait_recaptura_transacao_true |
367 | 348 | ) |
368 | | - wait_recaptura_integracao = merge( |
369 | | - wait_recaptura_integracao_false, wait_recaptura_integracao_true |
370 | | - ) |
371 | 349 |
|
372 | 350 | with case(materialize, True): |
373 | 351 | materialize_timestamp = get_current_timestamp( |
|
382 | 360 | wait_captura, |
383 | 361 | wait_recaptura_auxiliar, |
384 | 362 | wait_recaptura_transacao, |
385 | | - wait_recaptura_integracao, |
386 | 363 | ], |
387 | 364 | parameters={ |
388 | 365 | "timestamp": materialize_timestamp, |
|
396 | 373 | raise_final_state=True, |
397 | 374 | ) |
398 | 375 |
|
399 | | - run_materializacao_integracao = create_flow_run( |
400 | | - flow_name=bilhetagem_materializacao_integracao.name, |
401 | | - project_name=emd_constants.PREFECT_DEFAULT_PROJECT.value, |
402 | | - labels=LABELS, |
403 | | - upstream_tasks=[ |
404 | | - wait_materializacao_transacao, |
405 | | - ], |
406 | | - parameters={ |
407 | | - "timestamp": materialize_timestamp, |
408 | | - }, |
409 | | - ) |
410 | | - |
411 | | - wait_materializacao_integracao = wait_for_flow_run( |
412 | | - run_materializacao_integracao, |
413 | | - stream_states=True, |
414 | | - stream_logs=True, |
415 | | - raise_final_state=True, |
416 | | - ) |
417 | | - |
418 | 376 | run_materializacao_gps_validador = create_flow_run( |
419 | 377 | flow_name=bilhetagem_materializacao_gps_validador.name, |
420 | 378 | project_name=emd_constants.PREFECT_DEFAULT_PROJECT.value, |
421 | 379 | labels=LABELS, |
422 | 380 | upstream_tasks=[ |
423 | | - wait_materializacao_integracao, |
| 381 | + wait_materializacao_transacao, |
424 | 382 | ], |
425 | 383 | parameters={ |
426 | 384 | "timestamp": materialize_timestamp, |
|
478 | 436 | raise_final_state=unmapped(True), |
479 | 437 | ) |
480 | 438 |
|
| 439 | + runs_captura_integracao = create_flow_run( |
| 440 | + flow_name=unmapped(bilhetagem_integracao_captura.name), |
| 441 | + project_name=unmapped(emd_constants.PREFECT_DEFAULT_PROJECT.value), |
| 442 | + labels=unmapped(LABELS), |
| 443 | + upstream_tasks=[wait_captura], |
| 444 | + ) |
| 445 | + |
| 446 | + wait_captura_integracao = wait_for_flow_run( |
| 447 | + runs_captura_integracao, |
| 448 | + stream_states=unmapped(True), |
| 449 | + stream_logs=unmapped(True), |
| 450 | + raise_final_state=unmapped(True), |
| 451 | + ) |
| 452 | + |
481 | 453 | # Recaptura # |
482 | 454 |
|
483 | 455 | runs_recaptura = create_flow_run.map( |
|
496 | 468 | raise_final_state=unmapped(True), |
497 | 469 | ) |
498 | 470 |
|
| 471 | + # Recaptura Integração |
| 472 | + |
| 473 | + run_recaptura_integracao = create_flow_run( |
| 474 | + flow_name=bilhetagem_recaptura.name, |
| 475 | + project_name=emd_constants.PREFECT_DEFAULT_PROJECT.value, |
| 476 | + labels=LABELS, |
| 477 | + parameters=constants.BILHETAGEM_INTEGRACAO_CAPTURE_PARAMS.value, |
| 478 | + upstream_tasks=[wait_recaptura_true, wait_captura_integracao], |
| 479 | + ) |
| 480 | + |
| 481 | + wait_recaptura_integracao_true = wait_for_flow_run( |
| 482 | + run_recaptura_integracao, |
| 483 | + stream_states=True, |
| 484 | + stream_logs=True, |
| 485 | + raise_final_state=True, |
| 486 | + ) |
| 487 | + |
499 | 488 | with case(capture, False): |
500 | | - wait_recaptura_false = task(lambda: None, name="assign_none_to_recapture")() |
| 489 | + wait_recaptura_false, wait_recaptura_integracao_false = task( |
| 490 | + lambda: [None, None], name="assign_none_to_recapture", nout=2 |
| 491 | + )() |
501 | 492 |
|
502 | 493 | wait_recaptura = merge(wait_recaptura_true, wait_recaptura_false) |
| 494 | + wait_recaptura_integracao = merge( |
| 495 | + wait_recaptura_integracao_true, wait_recaptura_integracao_false |
| 496 | + ) |
503 | 497 |
|
504 | 498 | # Materialização # |
505 | 499 |
|
506 | 500 | with case(materialize, True): |
| 501 | + materialize_timestamp = get_current_timestamp( |
| 502 | + timestamp=timestamp, |
| 503 | + return_str=True, |
| 504 | + ) |
| 505 | + |
507 | 506 | run_materializacao = create_flow_run( |
508 | 507 | flow_name=bilhetagem_materializacao_ordem_pagamento.name, |
509 | 508 | project_name=emd_constants.PREFECT_DEFAULT_PROJECT.value, |
510 | 509 | labels=LABELS, |
511 | | - upstream_tasks=[wait_recaptura], |
| 510 | + upstream_tasks=[wait_recaptura, wait_recaptura_integracao], |
512 | 511 | parameters={ |
513 | | - "timestamp": get_current_timestamp( |
514 | | - timestamp=timestamp, return_str=True |
515 | | - ), |
| 512 | + "timestamp": materialize_timestamp, |
516 | 513 | }, |
517 | 514 | ) |
518 | 515 |
|
|
523 | 520 | raise_final_state=True, |
524 | 521 | ) |
525 | 522 |
|
| 523 | + run_materializacao_integracao = create_flow_run( |
| 524 | + flow_name=bilhetagem_materializacao_integracao.name, |
| 525 | + project_name=emd_constants.PREFECT_DEFAULT_PROJECT.value, |
| 526 | + labels=LABELS, |
| 527 | + upstream_tasks=[ |
| 528 | + wait_materializacao, |
| 529 | + ], |
| 530 | + parameters={ |
| 531 | + "timestamp": materialize_timestamp, |
| 532 | + }, |
| 533 | + ) |
| 534 | + |
| 535 | + wait_materializacao_integracao = wait_for_flow_run( |
| 536 | + run_materializacao_integracao, |
| 537 | + stream_states=True, |
| 538 | + stream_logs=True, |
| 539 | + raise_final_state=True, |
| 540 | + ) |
| 541 | + |
526 | 542 | bilhetagem_ordem_pagamento_captura_tratamento.set_reference_tasks( |
527 | | - [wait_materializacao, wait_recaptura] |
| 543 | + [wait_materializacao_integracao, wait_recaptura] |
528 | 544 | ) |
529 | 545 |
|
530 | 546 | bilhetagem_ordem_pagamento_captura_tratamento.storage = GCS( |
|
0 commit comments