Skip to content

Commit

Permalink
use new scheduling schema for new connection tracking to support cron…
Browse files Browse the repository at this point in the history
… strings (#16690)
  • Loading branch information
mfsiega-airbyte authored Sep 14, 2022
1 parent f9ed34d commit 835ff30
Showing 1 changed file with 21 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,9 @@ private Builder<String, Object> generateMetadata(final StandardSync standardSync
metadata.put("connector_destination_definition_id", destinationDefinition.getDestinationDefinitionId());

final String frequencyString;
if (standardSync.getManual()) {
if (standardSync.getScheduleType() != null) {
frequencyString = getFrequencyStringFromScheduleType(standardSync.getScheduleType(), standardSync.getScheduleData());
} else if (standardSync.getManual()) {
frequencyString = "manual";
} else {
final long intervalInMinutes = TimeUnit.SECONDS.toMinutes(ScheduleHelpers.getIntervalInSecond(standardSync.getSchedule()));
Expand Down Expand Up @@ -422,4 +424,22 @@ private ConnectionRead buildConnectionRead(final UUID connectionId)
return ApiPojoConverters.internalToConnectionRead(standardSync);
}

private static String getFrequencyStringFromScheduleType(final ScheduleType scheduleType, final ScheduleData scheduleData) {
switch (scheduleType) {
case MANUAL -> {
return "manual";
}
case BASIC_SCHEDULE -> {
return TimeUnit.SECONDS.toMinutes(ScheduleHelpers.getIntervalInSecond(scheduleData.getBasicSchedule())) + " min";
}
case CRON -> {
// TODO(https://github.com/airbytehq/airbyte/issues/2170): consider something more detailed.
return "cron";
}
default -> {
throw new RuntimeException("Unexpected schedule type");
}
}
}

}

0 comments on commit 835ff30

Please sign in to comment.