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

Set when to run instead of how often to run #200

Open
rufus210 opened this issue Jan 8, 2024 · 4 comments
Open

Set when to run instead of how often to run #200

rufus210 opened this issue Jan 8, 2024 · 4 comments
Labels
enhancement New feature or request

Comments

@rufus210
Copy link

rufus210 commented Jan 8, 2024

Description

The current configuration is how often the script will run to check for fares and new reservations. The reasonable default of every 24 hours means this check runs every day whenever the script happens to have been run initially.

It would be nice if the configuration was instead for a time. That way you could say run every night at 3am or something.

What alternatives have you considered?

No response

@rufus210 rufus210 added the enhancement New feature or request label Jan 8, 2024
@jdholtz
Copy link
Owner

jdholtz commented Jan 8, 2024

I don't see much use in having to set a time instead of interval, but we can discuss it. Here are my thoughts.

It would be nice if the configuration was instead for a time.

The retrieval interval allows users to configure how often their flights/accounts should be checked. However, changing this option to a time instead would remove that feature and instead force everyone to check every 24 hours. An option is to keep the interval and add a time to start too, but that logic within the script would be complex and probably confusing to users.

Additionally, the time syntax would be annoying to deal with programmatically as there are many different ways to write a specific time (in 20 minutes, at 3am, at 03:00, etc.). Maybe there is a library to deal with this?

Third, there are external programs that can be used if someone wants to do this. Here is an example with the at command on Linux:

echo "python southwest.py" | at 03:00

or with Docker:

echo "docker run -d jdholtz/auto-southwest-check-in" | at 03:00

Due to these reasons and me not seeing this be a very useful feature, I don't think it is worth it to implement. The feature is complex for what it adds to the script and would be confusing to users. Also, external programs do exist that can easily solve this issue for users that do want this feature, so I am less inclined to see the benefit of introducing this complexity.

Please let me know your thoughts on this.

@rufus210
Copy link
Author

rufus210 commented Jan 9, 2024

At could be used to start the script up at a specific time and then it'll run every 24 hours from that point, but that seems like a hack that would be weird to document.

My thought would be the user can specify the time(s) to do the checks in hh:mm. My ideal setting would be times = "03:00", while if someone wanted every 12 hours they could do times = "03:00 15:00" or similar. This gives flexibility that you could say check multiple times during the daytime but then not check overnight. It also gives the intuitive behavior that a check is done at the arbitrary point when the script starts, and then all following checks are done that the specified regular time.

This doesn't work if users have a frequency that's not a divisor of 24 hours, but I can't imagine someone's having the script run every 17 hours or something.

@jdholtz
Copy link
Owner

jdholtz commented Jan 9, 2024

but that seems like a hack that would be weird to document.

I think it would a lot less complicated for a user to understand than needing to specify a time (or multiple) in the configuration. I also wasn’t planning on documenting it as I still don’t really see why someone would want to check at a specific time.

This gives flexibility that you could say check multiple times during the daytime but then not check overnight.

Why would a user want to the script multiple times during the day, but not at night? Even if something within the script happens overnight (a new flight is scheduled, a new fare is found, etc.), they would just see the notification the next day.

The script is made to be run once and just run on a computer forever (theoretically). I see it being really trivial for a user to just wait until the time to start it, as you rarely should ever need to start the script again. At that point, doing it automatically with a command like at is simple since it needs to be done so infrequently.

@davidkassa
Copy link
Contributor

How frequently and when are fares changed? Should it default to 8AM EST or 2h before that flight daily?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants