Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: bing ads bulk upload #3371

Merged
merged 142 commits into from
Aug 9, 2023
Merged

feat: bing ads bulk upload #3371

merged 142 commits into from
Aug 9, 2023

Conversation

shrouti1507
Copy link
Contributor

@shrouti1507 shrouti1507 commented May 22, 2023

Description

resolves INT-244

We are currently undergoing a revamp of the batch router logic to accommodate asynchronous destinations. In the previous version, we had support for a single asynchronous destination, which was Marketo bulk upload. However, we are now expanding our capabilities to include Bing ads audience as well. To ensure data is sent correctly to these destinations, we have identified the following two crucial steps:

Transformation and Upload: The first step involves transforming the text data into the required format and subsequently uploading the transformed file to the respective destination. Previously, this entire process was handled by the transformer. However, considering the potential inefficiency of sending large files to the transformer repeatedly, we have decided to execute these steps on the server itself.

Status Monitoring: The second step is to fetch the status of the uploaded file from the destination. This allows us to determine the success or failure of the upload. In the event of a failure, it is important to retrieve the specific reason for the failure, enabling effective troubleshooting and issue resolution.

To facilitate these revised processes, we have introduced a new interface called AsyncDestinationManager. This interface comprises the following essential functions:

  1. Upload: This function takes care of transforming the file into the required format and performing the upload process to the destination. By handling this process on the server, we can optimize efficiency and avoid unnecessary data transfers.

  2. Poll: The poll function is responsible for regularly checking and fetching the status of the uploaded file from the destination. This enables us to monitor the progress and ensure timely and accurate data transmission.

  3. FetchFailedEvents: In the case of any failed events during the upload process, the FetchFailedEvents function allows us to retrieve the specific details of the failed event. This information is crucial for troubleshooting and taking appropriate corrective actions.

By introducing the AsyncDestinationManager interface and implementing these functions, we are streamlining the batch router logic to efficiently handle asynchronous destinations. This approach minimizes data transfer overhead and improves overall performance while providing comprehensive monitoring and error-handling capabilities.

Notion Ticket

https://www.notion.so/rudderstacks/d5d15ce4be354e3caae11d4ea9f41477?v=7e2d9df8de2f4251a8a80a4cf2c3f662&p=a3e076e645f0474fbd18bd397f982d14&pm=c

Security

  • The code changed/added as part of this pull request won't create any security issues with how the software is being used.

@shrouti1507 shrouti1507 changed the title Feat.bing ads Feat.bing ads bulk upload May 22, 2023
@koladilip
Copy link
Contributor

don't merge to master yet

Copy link
Contributor

@koladilip koladilip left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

shrouti1507 and others added 4 commits May 26, 2023 20:52
)

* fix: adding temporary commits

* feat: initial commit for poll function

* fix: removing commented out code

* fix: small update in poll function

* feat: fetch failed results for bingAds

* fix: small edit in function definition

* fix: shortening function parameters fot fetchFailedEvents

* update message structure of bingads_audience (#3444)

* fix: adding success key logic and addressing review comments

* fix: making poll url an optional field

* fix: fixing in the status code data type

* fix: fixing rudder-auth service connection and editing test cases(#3455)

* update message structure of bingads_audience

* add implementation of tokenSource interface

* update existing testcases

* fix: fixing marketo bulk upload struct

* fix: small comments added

* fix: removing the poll status file after the response is written

* fix: adding function comments

* fix: remove the zip file after data upload

---------

Co-authored-by: Sudip Paul <67197965+ItsSudip@users.noreply.github.com>
@ItsSudip ItsSudip marked this pull request as ready for review June 8, 2023 06:24
shrouti1507 and others added 5 commits June 8, 2023 22:12
Co-authored-by: Leonidas Vrachnis <leo.al.vra@gmail.com>
Co-authored-by: Leonidas Vrachnis <leo.al.vra@gmail.com>
Co-authored-by: Leonidas Vrachnis <leo.al.vra@gmail.com>
Co-authored-by: Leonidas Vrachnis <leo.al.vra@gmail.com>
Co-authored-by: Leonidas Vrachnis <leo.al.vra@gmail.com>
chandumlg and others added 4 commits August 3, 2023 09:11
* fix: initial commit

* chore: clean up

* chore: clean up

* chore: clean up

* chore: clean up

---------

Co-authored-by: shrouti1507 <shrouti.gangopadhyay@gmail.com>
Co-authored-by: Chandra shekar Varkala <chandra@rudderlabs.com>
@linear
Copy link

linear bot commented Aug 4, 2023

@shrouti1507 shrouti1507 merged commit 574d0a5 into master Aug 9, 2023
35 checks passed
@github-actions github-actions bot deleted the feat.bing-ads branch October 10, 2023 01:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants