No Description

WooCommerceSync.php 1.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace MailPoet\Cron\Workers;
  3. if (!defined('ABSPATH')) exit;
  4. use MailPoet\Models\ScheduledTask;
  5. use MailPoet\Segments\WooCommerce as WooCommerceSegment;
  6. use MailPoet\WooCommerce\Helper as WooCommerceHelper;
  7. class WooCommerceSync extends SimpleWorker {
  8. const TASK_TYPE = 'woocommerce_sync';
  9. const SUPPORT_MULTIPLE_INSTANCES = false;
  10. const AUTOMATIC_SCHEDULING = false;
  11. /** @var WooCommerceSegment */
  12. private $woocommerceSegment;
  13. /** @var WooCommerceHelper */
  14. private $woocommerceHelper;
  15. public function __construct(
  16. WooCommerceSegment $woocommerceSegment,
  17. WooCommerceHelper $woocommerceHelper
  18. ) {
  19. $this->woocommerceSegment = $woocommerceSegment;
  20. $this->woocommerceHelper = $woocommerceHelper;
  21. parent::__construct();
  22. }
  23. public function checkProcessingRequirements() {
  24. return $this->woocommerceHelper->isWooCommerceActive();
  25. }
  26. public function processTaskStrategy(ScheduledTask $task, $timer) {
  27. $this->woocommerceSegment->synchronizeCustomers();
  28. return true;
  29. }
  30. }