title: AIRFLOW DAG for uploading files fails when files not there
body: <p>I have an airflow DAG that works perfectly when files are present, but error->fails when the source files are not there.</p>
  
  <p>Randomly, I recieve files from a given source, that my DAG picks up and processes.  While I need to run the DAG daily, files are not necessarily there daily.  Could be monday, wednesday, or even sunday evening.</p>
  
  <p>I'm not worried about days with no new files. i worry about days when new files come and it breaks.</p>
  
  <p>How do I tell the DAG that when no file exist then gracefully exit with success?
  My DAG below (please ignore schedule setting.  I'm still in development mode):</p>
  
  <pre><code>import airflow
  from airflow import models
  from airflow.operators.gcs_to_bq import GoogleCloudStorageToBigQueryOperator
  from airflow.operators.gcs_to_gcs import GoogleCloudStorageToGoogleCloudStorageOperator
  
  args = {
      'owner': 'Airflow',
      'start_date': airflow.utils.dates.days_ago(2),
      'email': ['email@gmail.com'],
      'email_on_failure': True,
      'schedule_interval': 'None',
  }
  
  dag = models.DAG(
      dag_id='Source1_Ingestion',
      default_args=args
  )
  
  # [START load ATTOM File to STAGING]
  load_File_to_Source1_RAW = GoogleCloudStorageToBigQueryOperator(
      task_id='Source1_GCS_to_GBQ_Raw',
      bucket='Source1_files',
      source_objects=['To_Process/*.txt'],
      destination_project_dataset_table='Source1.Source1_RAW',
      schema_fields=[
          {'name': 'datarow', 'type': 'STRING', 'mode': 'NULLABLE'},
      ],
      field_delimiter='§',
      write_disposition='WRITE_TRUNCATE',
      google_cloud_storage_conn_id='GCP_EDW_Staging',
      bigquery_conn_id='GCP_EDW_Staging',
      dag=dag)
  # [END howto_operator_gcs_to_bq]
  
  # [START move files to Archive]
  archive_attom_files = GoogleCloudStorageToGoogleCloudStorageOperator(
      task_id='Archive_Source1_Files',
      source_bucket='Source1_files',
      source_object='To_Process/*.txt',
      destination_bucket='Source1_files',
      destination_object='Archive/',
      move_object=True,
      google_cloud_storage_conn_id='GCP_EDW_Staging',
      dag=dag
  )
  
  # [END move files to archive]
  
  load_File_to_Source1_RAW.set_downstream(archive_Source1_files)
  </code></pre>