Files
Airflow-on-Fargate/tasks/number_task/numbers.py
Chaithanya Maisagoni 7814377342 Adding support for EFS mounts.
Changelog:
* Upgraded CDK version to support EFS usage
* Upgraded Fargate PlatformVersion to support EFS mounts
* Refacored RDS contruct as per new CDK
* Created a new LogGroup for OnDemand DagTasks
* Added TAG for stack, to track resources belonging to this setup
* Updated sample DAG to utilize EFS. Tasks Odd and Even will publish to EFS and Numbers will read from EFS
* Now you can see logs from OnDemand tasks on Airflow UI, once task run finishes
2020-12-08 11:58:26 -08:00

48 lines
1.3 KiB
Python

from argparse import ArgumentParser
import os
parser = ArgumentParser(description='Airflow Fargate Example')
parser.add_argument('number', help='number', type=int)
def delete_file(file_path):
try:
os.remove(file_path)
print("Successfully deleted file: " + file_path)
except OSError:
print("File not found: " + file_path)
pass
if __name__ == '__main__':
args = parser.parse_args()
number = args.number
print("Printing all numbers in given range")
f_numbers = open("/shared-volume/numbers.txt", "a")
# Copy from even.txt to numbers.txt
f_even = open("/shared-volume/even.txt", "r")
for line in f_even:
f_numbers.write(line)
f_even.close()
# Copy from odd.txt to numbers.txt
f_odd = open("/shared-volume/odd.txt", "r")
for line in f_odd:
f_numbers.write(line)
f_odd.close()
f_numbers.close()
# Print contents of numbers.txt
f_numbers = open("/shared-volume/numbers.txt", "r")
for line in f_numbers:
print(line)
print("\n")
f_numbers.close()
# Deleting all files, to avoid EFS cost
delete_file("/shared-volume/even.txt")
delete_file("/shared-volume/odd.txt")
delete_file("/shared-volume/numbers.txt")
delete_file("/shared-volume/numbers.txt") # Will result in File not found message