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
Real-time campaign events triggering #10587
Conversation
Co-authored-by: Ruth Cheesley <ruth.cheesley@acquia.com>
Co-authored-by: Ruth Cheesley <ruth.cheesley@acquia.com>
Codecov Report
@@ Coverage Diff @@
## 4.x #10587 +/- ##
============================================
+ Coverage 42.95% 43.12% +0.16%
- Complexity 34532 34602 +70
============================================
Files 2062 2070 +8
Lines 115638 115961 +323
============================================
+ Hits 49669 50003 +334
+ Misses 65969 65958 -11
|
@escopecz can you check that error from PHPStan level 6 There is related article, but I was not able to set return type for iterator and I tried a lot of variants? Can we disable that checks? |
@escopecz I am talking about this error
I've tried a lot of variants and PHPDoc return type but does not work |
@kuzmany it looks like you figured it out. Thanks! I know it is annoying and PHP developers are not used to specifying types inside an array. But it is common in other languages and there is a good chance it will come to PHP as well. There is a bunch of bugs in Mautic that are coming from developers expecting an array in certain format but in some special cases there are other array structures coming in. Also, it will speed up the development time if the developers can clearly see what is in the array that is being returned or passed as a param. |
@kuzmany I'm looking at the new functionality here. Can you be more verbose about why is this needed? If the community will decide to merge it there should be some good documentation about this. I would vote against it as we try to decouple features to improve performance. This is coupling campaign membership build with campaign execution. See #10550. It is actually working this way and my PR is removing that feature because it overloads the database if we build the membership and execute the events at the same time. One database table is heavily hit with reads and writes at the same time. CPU is running on 100% for hours and other Mautic features are getting unstable or even data loss can happen. |
@escopecz It's 3 years old feature what I remember we use it for forgot password and some unlock feature, what we need immediately. It's not build to run mass events, we can add note or something. But If you need provide action immediately, for example after add contact to campaign by API it's useful. @npracht @jos0405 as marketing guy do you have a use cases for this feature? |
I'm sure that users of the Mautic instances we maintain would abuse it and cause troubles for themselves which would end with more support tickets, angry users and wasted hours on investigations. If we decide to go forward with this, can we wrap the checkbox with an IF statement that would check for a config param? (Feature flag) so we could enable/disable it per instance? |
@escopecz ok, that make sense. |
This feature can be used for faster double opt-in processing, even if the cron would fire in lower intervalls. |
So the error is since July... today tested and I receive same error described also on another Issue that I also could not test: Label support for contactfield token #10626 I would be happy to test again :) |
Let's close it |
Please be sure you are submitting this against the staging branch.
Description:
This PR allow trigger events immediately after contact is added to campaign.
Steps to test this PR:
If use own test enviroment
run php bin/console doctrine:migrations:migrate
Trigger event's realtime