-
Notifications
You must be signed in to change notification settings - Fork 29
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
Retention policy #247
Retention policy #247
Conversation
e9d22cc
to
3de65ec
Compare
@jamesgeddes I have just started thinking about/implementing the first remind email and it would not work to send all the emails at 9am every day for all users who do not have the A common scenario would be if a member registers at 08:59, starts their payment but when they finish it is already 09:01. This would mean that the user does not have the For this reason I am starting to reconsider the 'only having |
That's a fair point. Perhaps we should go with the 24 hours after the individual registers. |
a1f8647
to
fda0aed
Compare
@jamesgeddes I think celery beat is the best option for scheduling the recurring task of sending the emails. |
Another option is to schedule a check, upon membership creation, to find if the member has paid, if they still have not, send an email and schedule the next check. This would be easier than using celery-beat and creating periodic tasks which checks through all members. EDIT: EDIT 2: |
NOTE: When running celery, Relates to #246 EDIT: |
df13b57
to
6459594
Compare
NOTE FOR WINDOWS: There needs to be another worker process/thread available to call a task from within another task. This may cause issues when running on Windows as the only way I could get my version to work was by limitting workers using |
@jamesgeddes Please can we either meet up at some point or can I have a list of exactly what needs to be done on member deletion (to comply with GDPR, to keep payments anonymous, etc)? |
@SamWinterhalder I am free in an hour, let's jump into the GZ dev channel at 1730 |
I will take a look at the CircleCI config to ensure that it is pulling in the correct env |
logged #271 |
I am not sure the best conditions to use, to determine whether to force the member into payment. One scenario already mentioned is a payment that might take an hour, this will not be payed but the user has done all they can so it might be incorrect to just use whether they have paid or not. |
Do we get a "payment processing" from stripe? |
Should do, I am not sure how I am going to be able to differentiate between Sand payment and any other payments for |
I think that instead of making more requests than we need to, we can store the most recent event of the payment in the database (not every event but the significant ones that will help with knowing what is happening with the members payment). This would work best as a field in the membership model ( EDIT: |
The CircleCI error is stating that nothing has been written to the console in 10 mins so it timed out. Check here. |
I think this is because we do not have Celery or RabbitMQ installed on ther CircleCI instance. (I have got @jamesgeddes working on this 😄) |
It does occur to me that we don't actually have any tests that ask circle ci to run anything in rabbit. I'm not saying that we should not have the right testing environment but that does seem kind of odd. |
I think we need circlieci to be able to know what rabbitmq is first 😄 |
when running manage.py test I get an assertion error in |
and when changing 1 to 0 the test works |
Yeh it is not behaving, I have somehow broken something to do with Stripe somewhere becuase I keep getting |
sounds promising! |
Fixes #271 |
The custom Docker container has been configured so that both RabbitMQ and the Celery worker can be run in the same container as manage.py. This prevents async celery tasks from causing the Django tests to hang.
05c78b5
to
b6ee357
Compare
@SamWinterhalder convert this and add me as a reviewer so I can approve 😄 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great job 👍
Well done, big effort! |
Check if a Sand membership fee is due on each member.
If Sand membership fee not yet paid (new member):
delete account andsend email to notify after 120 hours.Fixes #77
(Following is no longer PGL)
If Sand membership fee is due soon, send member reminders to pay.Relates to #128If Sand membership fee is not paid after six months:update their membership termination datethe author on posts published by that member must be changed to "Anonymous [animal]"their member profile must be set to private.