Skip to content

Commit cc005bf

Browse files
authored
Changed failed_at field as ISODate (#2607)
1 parent b55e5da commit cc005bf

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

src/Queue/Failed/MongoFailedJobProvider.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Carbon\Carbon;
88
use Exception;
99
use Illuminate\Queue\Failed\DatabaseFailedJobProvider;
10+
use MongoDB\BSON\UTCDateTime;
1011

1112
use function array_map;
1213

@@ -28,7 +29,7 @@ public function log($connection, $queue, $payload, $exception)
2829
'connection' => $connection,
2930
'queue' => $queue,
3031
'payload' => $payload,
31-
'failed_at' => Carbon::now()->getTimestamp(),
32+
'failed_at' => new UTCDateTime(Carbon::now()),
3233
'exception' => (string) $exception,
3334
]);
3435
}

tests/QueueTest.php

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@
55
namespace MongoDB\Laravel\Tests;
66

77
use Carbon\Carbon;
8+
use Exception;
89
use Illuminate\Support\Facades\Config;
910
use Illuminate\Support\Facades\Queue;
1011
use Illuminate\Support\Str;
1112
use Mockery;
13+
use MongoDB\BSON\UTCDateTime;
1214
use MongoDB\Laravel\Queue\Failed\MongoFailedJobProvider;
1315
use MongoDB\Laravel\Queue\MongoJob;
1416
use MongoDB\Laravel\Queue\MongoQueue;
@@ -30,10 +32,7 @@ public function setUp(): void
3032
public function testQueueJobLifeCycle(): void
3133
{
3234
$uuid = Str::uuid();
33-
34-
Str::createUuidsUsing(function () use ($uuid) {
35-
return $uuid;
36-
});
35+
Str::createUuidsUsing(fn () => $uuid);
3736

3837
$id = Queue::push('test', ['action' => 'QueueJobLifeCycle'], 'test');
3938
$this->assertNotNull($id);
@@ -185,4 +184,19 @@ public function testQueueDeleteAndRelease(): void
185184

186185
$mock->deleteAndRelease($queue, $job, $delay);
187186
}
187+
188+
public function testFailedJobLogging()
189+
{
190+
Carbon::setTestNow('2019-01-01 00:00:00');
191+
$provider = app('queue.failer');
192+
$provider->log('test_connection', 'test_queue', 'test_payload', new Exception('test_exception'));
193+
194+
$failedJob = Queue::getDatabase()->table(Config::get('queue.failed.table'))->first();
195+
196+
$this->assertSame('test_connection', $failedJob['connection']);
197+
$this->assertSame('test_queue', $failedJob['queue']);
198+
$this->assertSame('test_payload', $failedJob['payload']);
199+
$this->assertEquals(new UTCDateTime(Carbon::now()), $failedJob['failed_at']);
200+
$this->assertStringStartsWith('Exception: test_exception in ', $failedJob['exception']);
201+
}
188202
}

0 commit comments

Comments
 (0)