Skip to content

v0.2.0

Compare
Choose a tag to compare
@mpyw mpyw released this 02 Jan 15:48
· 26 commits to master since this release
59cdf0e

[BC] Add ability to detect interfaces on listeners, nofications and mailables #2

  • ShouldAssumeFresh ShouldAssumeModified are moved from Jobs 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 with ResolveStickinessOnResolvedConnections middleware.