diff options
Diffstat (limited to 'www/wiki/includes/deferred/TransactionRoundDefiningUpdate.php')
-rw-r--r-- | www/wiki/includes/deferred/TransactionRoundDefiningUpdate.php | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/www/wiki/includes/deferred/TransactionRoundDefiningUpdate.php b/www/wiki/includes/deferred/TransactionRoundDefiningUpdate.php new file mode 100644 index 00000000..a32d4a07 --- /dev/null +++ b/www/wiki/includes/deferred/TransactionRoundDefiningUpdate.php @@ -0,0 +1,30 @@ +<?php + +/** + * Deferrable update that must run outside of any explicit LBFactory transaction round + * + * @since 1.31 + */ +class TransactionRoundDefiningUpdate implements DeferrableUpdate, DeferrableCallback { + /** @var callable|null */ + private $callback; + /** @var string */ + private $fname; + + /** + * @param callable $callback + * @param string $fname Calling method + */ + public function __construct( callable $callback, $fname = 'unknown' ) { + $this->callback = $callback; + $this->fname = $fname; + } + + public function doUpdate() { + call_user_func( $this->callback ); + } + + public function getOrigin() { + return $this->fname; + } +} |