Releases: mpyw/laravel-cached-database-stickiness
Releases · mpyw/laravel-cached-database-stickiness
v2.1.0
v2.0.1
v2.0.0
v1.0.3
v1.0.2
v1.0.1
v0.3.1
v0.3.0
Fix: Restore $recordsModified
state if its value has not been changed
- Initialization effects are automatically revoked only if the Job does not change the stickiness state.
v0.2.0
[BC] Add ability to detect interfaces on listeners, nofications and mailables #2
ShouldAssumeFresh
ShouldAssumeModified
are moved fromJobs
namespace to root.ShouldAssumeFresh
ShouldAssumeModified
now works not only for jobs but also for listeners, notifications and mailables.
Add ability to retrieving $recordsModified and optimize calls for resolver #5
- For performance optimization,
isRecentlyModified()
is not called when$recordsModified
is already set to true.
[BC] Fix workers problem #6
JobInitializer
interface signature and its implementation have been changed.- Stickiness on Connection resolved during Job execution is now correctly reset.
diff --git a/src/JobInitializers/JobInitializerInterface.php b/src/JobInitializers/JobInitializerInterface.php
index a2f6a97..d39a02c 100644
--- a/src/JobInitializers/JobInitializerInterface.php
+++ b/src/JobInitializers/JobInitializerInterface.php
@@ -3,6 +3,7 @@
namespace Mpyw\LaravelCachedDatabaseStickiness\JobInitializers;
use Illuminate\Queue\Events\JobProcessing;
+use Mpyw\LaravelCachedDatabaseStickiness\Events\ConnectionCreated;
/**
* Interface JobInitializerInterface
@@ -10,9 +11,17 @@
interface JobInitializerInterface
{
/**
- * Initialize database stickiness state before processing each job.
+ * Initialize database stickiness state on already resolved connections before processing each job.
*
* @param \Illuminate\Queue\Events\JobProcessing $event
*/
- public function initializeStickinessState(JobProcessing $event): void;
+ public function initializeOnResolvedConnections(JobProcessing $event): void;
+
+ /**
+ * Initialize database stickiness state on newly created connection before processing each job.
+ *
+ * @param \Illuminate\Queue\Events\JobProcessing $jobProcessingEvent
+ * @param \Mpyw\LaravelCachedDatabaseStickiness\Events\ConnectionCreated $connectionCreatedEvent
+ */
+ public function initializeOnNewConnection(JobProcessing $jobProcessingEvent, ConnectionCreated $connectionCreatedEvent): void;
}
Add Stickiness Resolver Middleware #7
AuthBasedResolver
now correctly works around withResolveStickinessOnResolvedConnections
middleware.