Initial xentral_oss_20.3.c9ffacf
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace Xentral\Modules\Hubspot\Scheduler;
|
||||
|
||||
use ArrayObject;
|
||||
use Xentral\Modules\Hubspot\RequestQueues\HubspotRequestQueuesService;
|
||||
use Xentral\Modules\SubscriptionCycle\Scheduler\TaskMutexServiceInterface;
|
||||
|
||||
final class HubspotProcessSchedulerTask implements HubspotSchedulerTaskInterface
|
||||
{
|
||||
const CALL_TYPE = 'hubspot';
|
||||
/** @var HubspotRequestQueuesService $gateway */
|
||||
private $service;
|
||||
|
||||
/** @var TaskMutexServiceInterface $taskMutexService */
|
||||
private $taskMutexService;
|
||||
|
||||
/**
|
||||
* @param HubspotRequestQueuesService $service
|
||||
* @param TaskMutexServiceInterface $taskMutexService
|
||||
*/
|
||||
public function __construct(HubspotRequestQueuesService $service, TaskMutexServiceInterface $taskMutexService)
|
||||
{
|
||||
$this->service = $service;
|
||||
$this->taskMutexService = $taskMutexService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public function execute()
|
||||
{
|
||||
if ($this->taskMutexService->isTaskInstanceRunning('hubspot_process')) {
|
||||
return;
|
||||
}
|
||||
$this->taskMutexService->setMutex('hubspot_process');
|
||||
|
||||
$this->service->execute(static::CALL_TYPE);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return void
|
||||
*/
|
||||
public function cleanup()
|
||||
{
|
||||
$this->taskMutexService->setMutex('hubspot_process', false);
|
||||
$this->service->cleanup();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ArrayObject $args
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function beforeScheduleAction(ArrayObject $args)
|
||||
{
|
||||
// TODO: Implement beforeScheduleAction() method.
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ArrayObject $args
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function afterScheduleAction(ArrayObject $args)
|
||||
{
|
||||
// TODO: Implement afterScheduleAction() method.
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user