Commit Graph

189 Commits

Author SHA1 Message Date
John Oleksowicz
933fb27265 Create cron worker for reporting mixpanel data
MAILPOET-5161
2023-10-23 17:40:54 +02:00
Jan Lysý
998a1ef1f0 Add method for sending recovery from an invalid state
[MAILPOET-4891]
2023-09-14 21:03:08 +02:00
David Remer
7ac2065b1a Track purchases regardless of status but return revenue status correctly
When we apply this commit every purchase will be tracked. When the shop manager updates an order
the status will be updated. For the statistics it will only return values for purchases with
the 'completed' status

[MAILPOET-5485]
2023-09-11 12:14:33 +02:00
David Remer
317fdee2b6 Use getPurchaseStates helper method for past orders
[MAILPOET-5485]
2023-09-11 12:14:33 +02:00
John Oleksowicz
fe44df1884 Prevent invalid states due to filter segment
MAILPOET-5509
2023-08-31 14:16:10 +02:00
John Oleksowicz
bb7a98ad82 Save filter segment data to queue at send time
MAILPOET-5509
2023-08-31 14:16:10 +02:00
John Oleksowicz
38e709e3b1 Filter subscribers when creating scheduled tasks
MAILPOET-5509
2023-08-31 14:16:10 +02:00
John Oleksowicz
3745b17465 Filter subscribers during sending if filterSegment present
MAILPOET-5509
2023-08-31 14:16:10 +02:00
John Oleksowicz
9b8c4910c1 If newsletter has filterSegmentId, pause if it doesn't exist
MAILPOET-5509
2023-08-31 14:16:10 +02:00
David Remer
76c299c3d7 Remove global count methods.
In the previous commit, we removed the global count for our output. This commit removes
the logic as the only places where it was used was in recalculating the cache and since
the last commit, we do not use this value anymore

[MAILPOET-4487]
2023-08-18 13:35:13 +02:00
John Oleksowicz
021d8774e7 Wrap bulk updates in a transaction
MAILPOET-5410
2023-08-11 16:39:57 +02:00
John Oleksowicz
f8e0ba118c Nullify engagement score updated at after sends
This will cause the cron job that recalculates engagement score to pick
up these users the next time it runs. This ensures scores don't get
stale.

MAILPOET-5410
2023-08-11 16:39:57 +02:00
John Oleksowicz
0d9a6345d1 Actually use the batch size
MAILPOET-5404
2023-07-12 15:48:03 +02:00
John Oleksowicz
2078ddf292 Save last_subscriber_id as we go
Otherwise the task would always be starting at 0 if it times out

MAILPOET-5404
2023-07-12 15:48:03 +02:00
John Oleksowicz
fc410c2154 Make sure lastProcessedSubscriberId is always correct
MAILPOET-5404
2023-07-12 15:48:03 +02:00
John Oleksowicz
73eae47a39 Add cron worker for backfilling engagement data
MAILPOET-5404
2023-07-12 15:48:03 +02:00
John Oleksowicz
b22217420f Track last sending at
MAILPOET-4998
2023-06-22 15:29:22 +02:00
Rodrigo Primo
cc03b21e32 Add return type to verifySubscriber()
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
7a82270769 Add types to verifyWPSubscriber() based on PR reviewer feedback
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
bb2c77de31 Simplify verifyMailpoetSubscriber() by setting types in the signature
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
06a2c4e2bc Refactor Scheduler to use SubscriberEntity instead of Subscriber model
It was necessary to add a call to SubscribersRepository::remove() to two
integration tests to make sure Doctrine cleared its internal cache.
Maybe this should be handled by SubscribersRepository::bulkDelete().

[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
b251fa8ee9 Replace SubscribeSegment model with Doctrine code in Scheduler
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
6da2b5ad82 Refactor Scheduler::process() to use Doctrine
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
2ea8309908 Refactor processScheduledAutomaticEmail() to use Doctrine
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
e24d12f641 Refactor verifyMailpoetSubscriber() and verifyWPSubscriber()
Refactor those two methods to use Doctrine instead of Paris.

[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
fcc2f93d91 Refactor deleteQueueOrUpdateNextRunDate() to use Doctrine
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
5e9b820607 Refactor processPostNotificationNewsletter() to use Doctrine
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
0c74a5ae8c Refactor processWelcomeNewsletter() to use Doctrine
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
3b46668784 Refactor processScheduledStandardNewsletter() to use Doctrine
[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
ca3b5032ca Replace Newsletter model with NewsletterEntity in SchedulerTest
Temporary code was added to Scheduler to make some of its methods work
both with a Newsletter model and a NewsletterEntity.

[MAILPOET-4370]
2023-05-30 13:12:29 +02:00
Rodrigo Primo
75f8af13be Refactor MetaInfo::getNewsletterMetaInfo() to use Doctrine
[MAILPOET-5344]
2023-05-25 06:52:00 -05:00
alex-mailpoet
4cd1667146 Cache homepage subscribers stats
[MAILPOET-5180]
2023-05-22 14:13:05 +02:00
David Remer
0a57ca6a4d Use productIds in AbandonedCartPayload
[MAILPOET-4934]
2023-05-15 08:19:19 +02:00
David Remer
649c4efff4 Add AbandonedCart Worker
[MAILPOET-4934]
2023-05-15 08:19:19 +02:00
Rostislav Wolny
ab19ef92d5 Use subscriber count reporter in cron for reporting stats
[MAILPOET-5191]
2023-05-10 13:05:37 +02:00
Rodrigo Primo
9ab62ea2e1 Change the frequency of the Beamer worker to once every two weeks
[MAILPOET-5275]
2023-05-08 14:39:52 +02:00
Rodrigo Primo
7c4a84aaf4 Remove notices for hooks that were deprecated over six months ago
[MAILPOET-5272]
2023-04-28 06:05:29 +01:00
Jan Jakes
69f21814e3 Rename "transactional" email type to "automation_transactional"
[MAILPOET-5258]
2023-04-24 09:54:08 +03:00
David Remer
0ce8fce161 Send transactional emails to all not-bounced subscribers
[MAILPOET-4999]
2023-04-17 13:59:39 +02:00
David Remer
19c6f777fc Schedule transactional emails to all subscribers who are not bounced
[MAILPOET-4999]
2023-04-17 13:59:39 +02:00
Rostislav Wolny
cbd5c443f2 Ensure that subscriber stats are sent even for valid underprivileged keys
[MAILPOET-5165]
2023-04-04 18:45:41 +02:00
Sam Najian
397232e932 Set status of scheduled_task to invalid if it has not subs
[MAILPOET-5134]
2023-04-03 11:53:49 +02:00
Jan Lysý
2547f4bfbd Replace old model usages by Doctrine
[MAILPOET-4303]
2023-03-22 09:20:11 +01:00
Jan Lysý
2ead4214cd Move query with inserting task subscribers to repository
[MAILPOET-4303]
2023-03-22 09:20:11 +01:00
Sam Najian
9ca259d1d0 Exclude corrupt emails when fetching queue newsletters
[MAILPOET-4983]
2023-03-01 17:46:22 +01:00
Sam Najian
fdf0875905 Pause sending queue when encountering a corrupt newsletter
[MAILPOET-4983]
2023-03-01 17:46:22 +01:00
Sam Najian
93110826e7 Log when processing the queue for corrupt newsletter
[MAILPOET-4983]
2023-03-01 17:46:22 +01:00
John Oleksowicz
8c0854ab47 Consider image src when calculating campaignIds
MAILPOET-5034
2023-02-26 15:20:48 +01:00
John Oleksowicz
49c85c05ed Move campaignId generation to more logical place
MAILPOET-5034
2023-02-26 15:20:48 +01:00
John Oleksowicz
a6824cce36 Add tests for campaignId generation
[MAILPOET-5033]
2023-02-26 15:20:48 +01:00