diff --git a/app/models.py b/app/models.py index 6577d962..bc36729e 100644 --- a/app/models.py +++ b/app/models.py @@ -10,7 +10,13 @@ from sqlalchemy import text, desc from sqlalchemy_utils import ArrowType from app import s3 -from app.config import EMAIL_DOMAIN, MAX_NB_EMAIL_FREE_PLAN, URL, AVATAR_URL_EXPIRATION +from app.config import ( + EMAIL_DOMAIN, + MAX_NB_EMAIL_FREE_PLAN, + URL, + AVATAR_URL_EXPIRATION, + JOB_ONBOARDING_1, +) from app.email_utils import get_email_name from app.extensions import db from app.log import LOG @@ -144,6 +150,14 @@ class User(db.Model, ModelMixin, UserMixin): GenEmail.create_new(user.id, prefix="my-first-alias") db.session.flush() + # Schedule onboarding emails + Job.create( + name=JOB_ONBOARDING_1, + payload={"user_id": user.id}, + run_at=arrow.now().shift(days=1), + ) + db.session.flush() + return user def lifetime_or_active_subscription(self) -> bool: diff --git a/cron.py b/cron.py index 49e1880c..8562426f 100644 --- a/cron.py +++ b/cron.py @@ -122,6 +122,8 @@ if __name__ == "__main__": with app.app_context(): if args.job == "stats": + LOG.d("Compute stats") stats() elif args.job == "notify_trial_end": + LOG.d("Notify users with trial ending soon") notify_trial_end() diff --git a/job_runner.py b/job_runner.py index f9839070..3bf1d8a3 100644 --- a/job_runner.py +++ b/job_runner.py @@ -6,9 +6,7 @@ import time import arrow -from app.config import ( - JOB_ONBOARDING_1, -) +from app.config import JOB_ONBOARDING_1 from app.email_utils import ( send_email, render,