Skip to content

Commit 7798da5

Browse files
committed
0.0.3 __sleep for AsyncExecuteTask, redis queue names fix
1 parent 0e0caf1 commit 7798da5

File tree

4 files changed

+20
-4
lines changed

4 files changed

+20
-4
lines changed

models/AsyncExecuteTask.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@
66
*/
77
class AsyncExecuteTask extends AsyncTask
88
{
9+
function __sleep()
10+
{
11+
return $this->attributeNames();
12+
}
13+
914
public $class;
1015
public $method;
1116
public $arguments = [];

tests/unit/BaseTestClass.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,13 @@ public function testPurge()
4747
$task = new TestTask();
4848
$this->async->sendTask($task);
4949

50-
$this->assertEquals(TestTask::className(), get_class($this->async->receiveTask(TestTask::$queueName)));
50+
$task = $this->async->receiveTask(TestTask::$queueName);
51+
$this->assertEquals(TestTask::className(), get_class($task));
5152

5253
$this->assertTrue($this->async->purge(TestTask::$queueName));
5354
$this->assertFalse($this->async->receiveTask(TestTask::$queueName));
55+
56+
$this->assertTrue($this->async->acknowledgeTask($task));
5457
}
5558

5659
public function testLifeCycle()
@@ -91,6 +94,7 @@ public function testAsyncExecuteTask()
9194
$rTask->execute();
9295
} catch (TestException $e) {
9396
$this->assertEquals($e->getMessage(), 'through the space');
97+
$this->assertTrue($this->async->acknowledgeTask($rTask));
9498
return true;
9599
}
96100

tests/unit/RedisTest.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,10 @@
44
class RedisTest extends BaseTestClass
55
{
66
public $appConfig = '@tests/unit/_config.redis.php';
7+
8+
public function setUp()
9+
{
10+
parent::setUp();
11+
\Yii::$app->redis->executeCommand('FLUSHDB');
12+
}
713
}

transports/AsyncRedisTransport.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ function __construct($transportConfig)
2121
$this->connection = \Yii::$app->{$transportConfig['connection']};
2222
}
2323

24-
private static function getQueueKey($queueName, $progress = false)
24+
public static function getQueueKey($queueName, $progress = false)
2525
{
26-
return "queue:$queueName";
26+
return "queue:$queueName" . ($progress ? ':progress' : null);
2727
}
2828

2929
/**
@@ -78,6 +78,7 @@ public function acknowledge(AsyncTask $task)
7878
*/
7979
public function purge($queueName)
8080
{
81-
return $this->connection->executeCommand('DEL', [self::getQueueKey($queueName)]) === '1';
81+
$this->connection->executeCommand('DEL', [self::getQueueKey($queueName)]);
82+
return true;
8283
}
8384
}

0 commit comments

Comments
 (0)