From f72dd0bb57bd06a696549ff92907c0ba65fc5b00 Mon Sep 17 00:00:00 2001 From: Lukas Wagner Date: Thu, 14 Dec 2023 14:41:01 +0100 Subject: [PATCH] Fix contexts and timeouts --- .../internal/connectors/atlar/task_payments.go | 15 +++++++++------ ...iate_payment_test.go => task_payments_test.go} | 0 2 files changed, 9 insertions(+), 6 deletions(-) rename components/payments/cmd/connectors/internal/connectors/atlar/{task_initiate_payment_test.go => task_payments_test.go} (100%) diff --git a/components/payments/cmd/connectors/internal/connectors/atlar/task_payments.go b/components/payments/cmd/connectors/internal/connectors/atlar/task_payments.go index 91c36c3f40..a8ab6fe2ab 100644 --- a/components/payments/cmd/connectors/internal/connectors/atlar/task_payments.go +++ b/components/payments/cmd/connectors/internal/connectors/atlar/task_payments.go @@ -86,9 +86,6 @@ func InitiatePaymentTask(config Config, client *atlar_client.Rest, transferID st return err } - ctx, cancel := context.WithTimeout(ctx, 10*time.Second) - defer cancel() - paymentSchemeType := "SCT" // SEPA Credit Transfer remittanceInformationType := "UNSTRUCTURED" remittanceInformationValue := transfer.Description @@ -117,8 +114,10 @@ func InitiatePaymentTask(config Config, client *atlar_client.Rest, transferID st }, } + requestCtx, cancel := contextutil.DetachedWithTimeout(ctx, 30*time.Second) + defer cancel() postCreditTransfersParams := credit_transfers.PostV1CreditTransfersParams{ - Context: ctx, + Context: requestCtx, CreditTransfer: &createPaymentRequest, } postCreditTransferResponse, err := client.CreditTransfers.PostV1CreditTransfers(&postCreditTransfersParams) @@ -148,7 +147,6 @@ func InitiatePaymentTask(config Config, client *atlar_client.Rest, transferID st return err } - ctx, _ = contextutil.DetachedWithTimeout(ctx, 10*time.Second) err = scheduler.Schedule(ctx, taskDescriptor, models.TaskSchedulerOptions{ ScheduleOption: models.OPTIONS_RUN_NOW, RestartOption: models.OPTIONS_RESTART_IF_NOT_ACTIVE, @@ -215,7 +213,10 @@ func UpdatePaymentStatusTask( } }() + requestCtx, cancel := contextutil.DetachedWithTimeout(ctx, 30*time.Second) + defer cancel() getCreditTransferParams := credit_transfers.GetV1CreditTransfersGetByExternalIDExternalIDParams{ + Context: requestCtx, ExternalID: serializeAtlarPaymentExternalID(transfer.ID.Reference, transfer.Attempts), } getCreditTransferResponse, err := client.CreditTransfers.GetV1CreditTransfersGetByExternalIDExternalID(&getCreditTransferParams) @@ -238,9 +239,11 @@ func UpdatePaymentStatusTask( return err } + scheduleDuration := 2 * time.Minute + // ctx, _ = contextutil.Detached(ctx) err = scheduler.Schedule(ctx, taskDescriptor, models.TaskSchedulerOptions{ ScheduleOption: models.OPTIONS_RUN_IN_DURATION, - Duration: 2 * time.Minute, + Duration: scheduleDuration, RestartOption: models.OPTIONS_RESTART_IF_NOT_ACTIVE, }) if err != nil && !errors.Is(err, task.ErrAlreadyScheduled) { diff --git a/components/payments/cmd/connectors/internal/connectors/atlar/task_initiate_payment_test.go b/components/payments/cmd/connectors/internal/connectors/atlar/task_payments_test.go similarity index 100% rename from components/payments/cmd/connectors/internal/connectors/atlar/task_initiate_payment_test.go rename to components/payments/cmd/connectors/internal/connectors/atlar/task_payments_test.go