Skip to content

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
Jeyididya:vercel-flask
Open

Add Vercel deployment support with Flask webhook and cron-based reminders(To be accepted after the db migration PR)#2
Jeyididya wants to merge 9 commits intoami798:mainfrom
Jeyididya:vercel-flask

Conversation

@Jeyididya
Copy link
Copy Markdown

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

  1. 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.

  2. Vercel deployment configuration
    Added vercel.json configuration for deploying the Python serverless function.

  3. Cron-based reminder system
    Implemented /cron endpoint that triggers vercel_cron_reminders.
    Added Vercel cron configuration to run the reminder job daily.

  4. 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

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 5, 2026

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant