gitcoinco / web

Grow Open Source
https://gitcoin.co
Other
1.79k stars 776 forks source link

As a Gitcoin contributor, I'd like to have a task scheduler integrated into the backend, so that I can precisely schedule tasks into the future for purposes like email drips, email digests, etc. #4606

Closed danlipert closed 3 years ago

danlipert commented 5 years ago

User Story

As a Gitcoin contributor, I'd like to have a task scheduler integrated into the backend, so that I can precisely schedule tasks into the future for purposes like email drips, email digests, etc.

Why Is this Needed

The current codebase for Gitcoin makes use of cronjobs for scheduling and while this generally works for async processing, batch jobs, etc. It does not give contributors the ability to precisely schedule specific jobs in the future, especially on a per-object basis (per-user, etc.).

Description

Type: Feature

Current Behavior

No ability to schedule jobs

Expected Behavior

Able to schedule specific jobs at precise times

Definition of Done

Backend code as well as infrastructure, local docker container, etc. able to receive scheduled jobs.

kuhnchris commented 5 years ago

As far as I remember right now this is solved via crontabs/cronjobs which run at fixed periods and/or times defined in the crontab file. Is the request that we simply schedule a certain django command every minute or so that triggers jobs like mail blasts, sending of mails etc. from the django backend (+ also controllable from there)?

danlipert commented 5 years ago

@kuhnchris Correct - what we want is a tool that will allow us to easily say "send this email 36 hours from now"