title: django CSV upload, add column, store to S3
body: <p>Python beginner here. I am writing a python django application that requires a CSV upload file. After upload, the file should be given an additional column and then it should be stored on amazon S3 environment.</p>
  
  <p>I managed to create a form to upload a csv file directly to amazon s3 with this tutorial: <a href="https://simpleisbetterthancomplex.com/tutorial/2017/08/01/how-to-setup-amazon-s3-in-a-django-project.html" rel="nofollow noreferrer">https://simpleisbetterthancomplex.com/tutorial/2017/08/01/how-to-setup-amazon-s3-in-a-django-project.html</a></p>
  
  <p>I have different problems:</p>
  
  <ol>
  <li>The upload is currently a synchronous task, and it should be an
  asynchronous task, leaving my django web worker free for other
  users. now the web app is blocked during upload. </li>
  <li>What would be the best set-up? </li>
  </ol>
  
  <p>asynchronous upload to s3 (task 1) > download csv file from s3 inside a worker (task 2) > create new file inside worker task and add column (task 2 continued) > write the modified task to s3 (task 2 continued)</p>
  
  <p>OR just in one single task</p>
  
  <p>asynchronous upload to worker environment > add column > write to s3</p>
  
  <p>I have celery running, can add code to the queue and it executes correctly. I don't now how to get started on passing the upload to the celery queue and don't know how to decide on which approach for uploading the file (directly to s3 and edit it afterwards or keep it local, do changes and upload afterwards to s3).</p>
  
  <p>Also, the tutorial I used, uses Boto3 to connect to AWS, is this a good way?</p>
  
  <p>thanks for getting me started with this!</p>