diff --git a/aitrainer_backoffice/aitrainer_backoffice/settings/deploy.py b/aitrainer_backoffice/aitrainer_backoffice/settings/deploy.py index a8c86cc..71b98b1 100644 --- a/aitrainer_backoffice/aitrainer_backoffice/settings/deploy.py +++ b/aitrainer_backoffice/aitrainer_backoffice/settings/deploy.py @@ -21,6 +21,7 @@ DEBUG = False ALLOWED_HOSTS = ['62.171.188.119', "admin.aitrainer.app", 'mail.aitrainer.info', + 'mail.aitrainer.app' 'aitrainer.info', 'www.aitrainer.info', 'aitrainer.app', @@ -181,4 +182,6 @@ LOGGING = { CRON_CLASSES = [ 'controlling.cron.cron.NotificationJob', + 'controlling.cron.cron.TrialJob', + 'controlling.cron.cron.LangJob', ] diff --git a/aitrainer_backoffice/controlling/automation/mautic.py b/aitrainer_backoffice/controlling/automation/mautic.py index 3545d36..0f078e8 100644 --- a/aitrainer_backoffice/controlling/automation/mautic.py +++ b/aitrainer_backoffice/controlling/automation/mautic.py @@ -14,11 +14,6 @@ else: class Mautic: - def syncTrial(self): - tenDays = datetime.datetime - datetime.timedelta(days=10) - qs = Customer.objects.raw( - 'SELECT * from customer WHERE trial_date < "' + tenDays + '" and trial_date is not null') - def syncLang(self): qs = Customer.objects.raw('SELECT * from customer WHERE lang is not null and lang_sync is null') logger = logging.getLogger(__name__) @@ -33,12 +28,12 @@ class Mautic: data = "mauticform[email]=" + customer.email + \ "&mauticform[database_id]=" + str(customer.customer_id) + \ "&mauticform[lang]=" + str(customer.lang) + \ - "&mauticform[formId]=3" + \ + "&mauticform[formId]=7" + \ "&mauticform[formName]=appdatachange" print(data) - form_url = 'https://mautic.aitrainer.app/form/submit?formId=3' + form_url = 'https://mautic.aitrainer.app/form/submit?formId=7' response = requests.post(form_url, data=data.encode('utf-8'), headers=headers) print(customer.email + " " +str(response.status_code)) @@ -54,7 +49,7 @@ class Mautic: return True def syncTrial(self): - qs = Customer.objects.raw('SELECT * from customer WHERE trial_date is not null and trial_date_sync is null') + qs = Customer.objects.raw('SELECT * from customer WHERE trial_date is not null and trial_date != "1900-01-01 00:00:00 00:00" and trial_date_sync is null') logger = logging.getLogger(__name__) logger.info("Syncronising trial date...") @@ -67,12 +62,12 @@ class Mautic: data = "mauticform[email]=" + customer.email + \ "&mauticform[database_id]=" + str(customer.customer_id) + \ "&mauticform[trialdate]=" + str(customer.trial_date) + \ - "&mauticform[formId]=3" + \ + "&mauticform[formId]=7" + \ "&mauticform[formName]=appdatachange" print(data) - form_url = 'https://mautic.aitrainer.app/form/submit?formId=3' + form_url = 'https://mautic.aitrainer.app/form/submit?formId=7' response = requests.post(form_url, data=data.encode('utf-8'), headers=headers) print(customer.email + " " +str(response.status_code)) diff --git a/aitrainer_backoffice/controlling/cron/cron.py b/aitrainer_backoffice/controlling/cron/cron.py index 77020bd..aafa307 100644 --- a/aitrainer_backoffice/controlling/cron/cron.py +++ b/aitrainer_backoffice/controlling/cron/cron.py @@ -26,8 +26,7 @@ class NotificationJob(CronJobBase): print(datetime.datetime.now(), " *** END notification ") -class TrialJob(CronJobBase): - +class TrialJob(CronJobBase): RUN_EVERY_MINS = 60 schedule = Schedule(run_every_mins=RUN_EVERY_MINS) code = 'aitrainer_backoffice.controlling.trial_sync' # a unique code @@ -37,5 +36,17 @@ class TrialJob(CronJobBase): mautic = Mautic() mautic.syncTrial() print(datetime.datetime.now(), " *** END trial sync ") + + +class LangJob(CronJobBase): + RUN_EVERY_MINS = 60 + schedule = Schedule(run_every_mins=RUN_EVERY_MINS) + code = 'aitrainer_backoffice.controlling.Lang_sync' # a unique code + + def do(self): + print(datetime.datetime.now(), " *** START Lang sync ") + mautic = Mautic() + mautic.syncLang() + print(datetime.datetime.now(), " *** END Lang sync ") diff --git a/docker-compose.yml b/docker-compose.yml index 55259f0..ee67a25 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -39,7 +39,8 @@ services: - GOOGLE_APPLICATION_CREDENTIALS=/aitrainer_backoffice/aitrainer_backoffice/aitrainer_backoffice/asset/aitrainer-firebase-adminsdk.json - WORKOUTTEST_SETTING=PROD command: gunicorn aitrainer_backoffice.aitrainer_backoffice.wsgi --env DJANGO_SETTINGS_MODULE=aitrainer_backoffice.aitrainer_backoffice.settings.prod --bind 0.0.0.0:8000 --workers 3 -cronjobs: + + cronjobs: build: context: . dockerfile: ./Dockerfile @@ -102,7 +103,7 @@ cronjobs: consistency: cached - /usr/local/bin/wordpress/wp-content/uploads:/var/www/html/wp-content/uploads:cached - mautic: + mautic: image: mautic/mautic:v3 container_name: mautic links: