Add Vercel deployment support with Flask webhook and cron-based reminders(To be accepted after the db migration PR)#2
Open
Jeyididya wants to merge 9 commits intoami798:mainfrom
Open
Conversation
|
@Jeyididya is attempting to deploy a commit to the Amira's projects Team on Vercel. A member of the Team first needs to authorize it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds support for deploying the bot on Vercel using a Flask webhook server and replaces the runtime JobQueue reminder system with a Vercel cron job. This allows the bot to run reliably on serverless infrastructure where long-running processes are not supported.
Key Changes
Flask webhook server
Introduced a web_app.py Flask application to handle incoming Telegram webhook requests.
Updates are processed asynchronously using the existing build_application logic.
Vercel deployment configuration
Added vercel.json configuration for deploying the Python serverless function.
Cron-based reminder system
Implemented /cron endpoint that triggers vercel_cron_reminders.
Added Vercel cron configuration to run the reminder job daily.
Documentation
Added deployment instructions for Vercel including:
Environment variables setup
Webhook configuration
Cron job configuration
Why this change
Vercel’s serverless environment does not support persistent background workers like JobQueue.
This implementation enables the bot to run fully on Vercel while maintaining the reminder functionality through scheduled cron triggers.
Benefits
Enables serverless deployment
Removes dependency on persistent worker processes
Makes the bot easier to deploy and maintain
Keeps reminder functionality intact through scheduled checks
Reminder: Only to be accepted after the DB to SQLite migration PR