-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathWait.php
More file actions
46 lines (37 loc) · 987 Bytes
/
Wait.php
File metadata and controls
46 lines (37 loc) · 987 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
namespace SyncEngine\Task;
use SyncEngine\Model\TaskModel;
use SyncEngine\Service\ExecuteContext;
use SyncEngine\Service\ExecuteData;
use SyncEngine\Structure\Data\ConfigData;
use SyncEngine\Task\Type\UtilityTaskType;
class Wait extends TaskModel
{
public function __construct()
{
parent::__construct();
$this->type = UtilityTaskType::TYPE;
$this->icon = 'task-wait';
$this->name = $this->trans( 'Wait' );
$this->description = $this->trans( 'Wait for time to pass' );
}
public function getFields(): array
{
return [
'seconds' => [
'label' => $this->trans( 'Seconds to wait' ),
'type' => 'number',
'required' => true,
],
];
}
public function execute( ConfigData $config, ExecuteContext $context, ExecuteData $data ): ExecuteData
{
$seconds = $config['seconds'] ?? 0;
if ( is_string( $seconds ) ) {
$seconds = (float) str_replace( ',', '.', $seconds );
}
sleep( $seconds );
return $data;
}
}