# failed_jobs

uuid: 18eca02b-b5e0-487a-a084-984f4add6043
connection: redis
queue: default
failed_at: 2026-04-22 14:45:23
payload:
  {"uuid":"18eca02b-b5e0-487a-a084-984f4add6043","timeout":null,"id":"bFalQrGIaJaQ5GP3Xu3wNLdgbRFnig8x","backoff":"15","displayName":"App\\Jobs\\SendAlertNotification","maxTries":3,"failOnTimeout":false,"maxExceptions":null,"retryUntil":null,"job":"Illuminate\\Queue\\CallQueuedHandler@call","data":{"command":"O:30:\"App\\Jobs\\SendAlertNotification\":2:{s:10:\"alertLogId\";i:1;s:6:\"ticker\";a:8:{s:6:\"symbol\";s:7:\"BTCUSDT\";s:5:\"price\";d:78712.02;s:8:\"high_24h\";d:87496.99;s:7:\"low_24h\";d:68114.29;s:10:\"volume_24h\";d:1370.03866;s:16:\"quote_volume_24h\";d:105211402.9048903;s:16:\"price_change_pct\";d:2.938;s:9:\"timestamp\";i:1776869092158;}}","commandName":"App\\Jobs\\SendAlertNotification"},"attempts":2}

exception:
  NotificationChannels\Telegram\Exceptions\CouldNotSendNotification: You must provide your telegram bot token to make any API requests. in /var/www/crypto-sentinel/vendor/laravel-notification-channels/telegram/src/Exceptions/CouldNotSendNotification.php:39
  Stack trace:
  #0 /var/www/crypto-sentinel/vendor/laravel-notification-channels/telegram/src/Telegram.php(181): NotificationChannels\Telegram\Exceptions\CouldNotSendNotification::telegramBotTokenNotProvided()
  #1 /var/www/crypto-sentinel/vendor/laravel-notification-channels/telegram/src/Telegram.php(106): NotificationChannels\Telegram\Telegram->sendRequest()
  #2 /var/www/crypto-sentinel/vendor/laravel-notification-channels/telegram/src/TelegramMessage.php(117): NotificationChannels\Telegram\Telegram->sendMessage()
  #3 /var/www/crypto-sentinel/vendor/laravel-notification-channels/telegram/src/TelegramChannel.php(57): NotificationChannels\Telegram\TelegramMessage->send()
  #4 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Notifications/NotificationSender.php(148): NotificationChannels\Telegram\TelegramChannel->send()
  #5 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Notifications/NotificationSender.php(106): Illuminate\Notifications\NotificationSender->sendToNotifiable()
  #6 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Support/Traits/Localizable.php(19): Illuminate\Notifications\NotificationSender->Illuminate\Notifications\{closure}()
  #7 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Notifications/NotificationSender.php(101): Illuminate\Notifications\NotificationSender->withLocale()
  #8 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Notifications/NotificationSender.php(79): Illuminate\Notifications\NotificationSender->sendNow()
  #9 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Notifications/ChannelManager.php(39): Illuminate\Notifications\NotificationSender->send()
  #10 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Notifications/AnonymousNotifiable.php(45): Illuminate\Notifications\ChannelManager->send()
  #11 /var/www/crypto-sentinel/app/Jobs/SendAlertNotification.php(59): Illuminate\Notifications\AnonymousNotifiable->notify()
  #12 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Jobs\SendAlertNotification->handle()
  #13 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #14 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #15 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #16 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #17 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(128): Illuminate\Container\Container->call()
  #18 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}()
  #19 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #20 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then()
  #21 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(123): Illuminate\Bus\Dispatcher->dispatchNow()
  #22 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Queue\CallQueuedHandler->Illuminate\Queue\{closure}()
  #23 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #24 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(122): Illuminate\Pipeline\Pipeline->then()
  #25 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(70): Illuminate\Queue\CallQueuedHandler->dispatchThroughMiddleware()
  #26 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(102): Illuminate\Queue\CallQueuedHandler->call()
  #27 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(439): Illuminate\Queue\Jobs\Job->fire()
  #28 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(389): Illuminate\Queue\Worker->process()
  #29 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(176): Illuminate\Queue\Worker->runJob()
  #30 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(137): Illuminate\Queue\Worker->daemon()
  #31 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(120): Illuminate\Queue\Console\WorkCommand->runWorker()
  #32 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\Queue\Console\WorkCommand->handle()
  #33 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #34 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #35 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #36 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #37 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call()
  #38 /var/www/crypto-sentinel/vendor/symfony/console/Command/Command.php(326): Illuminate\Console\Command->execute()
  #39 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run()
  #40 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(1121): Illuminate\Console\Command->run()
  #41 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
  #42 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
  #43 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\Component\Console\Application->run()
  #44 /var/www/crypto-sentinel/artisan(35): Illuminate\Foundation\Console\Kernel->handle()
  #45 {main}


uuid: 3763c0fb-fa57-4c05-bd0f-b0adb80a8652
connection: redis
queue: default
failed_at: 2026-04-30 00:01:27
payload:
  {"uuid":"3763c0fb-fa57-4c05-bd0f-b0adb80a8652","displayName":"App\\Jobs\\ExecuteTradeJob","job":"Illuminate\\Queue\\CallQueuedHandler@call","maxTries":1,"maxExceptions":null,"failOnTimeout":false,"backoff":null,"timeout":null,"retryUntil":null,"data":{"commandName":"App\\Jobs\\ExecuteTradeJob","command":"O:24:\"App\\Jobs\\ExecuteTradeJob\":3:{s:11:\"tradeRuleId\";i:4;s:10:\"alertLogId\";N;s:14:\"symbolOverride\";N;}"},"id":"SXlCRsSD38F2HtLO19ZmOw8tzCEjslsM","attempts":0}

exception:
  PDOException: SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: orders.type in /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php:587
  Stack trace:
  #0 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(587): PDOStatement->execute()
  #1 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\Database\Connection->Illuminate\Database\{closure}()
  #2 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\Database\Connection->runQueryCallback()
  #3 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(576): Illuminate\Database\Connection->run()
  #4 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(540): Illuminate\Database\Connection->statement()
  #5 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert()
  #6 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3549): Illuminate\Database\Query\Processors\Processor->processInsertGetId()
  #7 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\Database\Query\Builder->insertGetId()
  #8 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\Database\Eloquent\Builder->__call()
  #9 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\Database\Eloquent\Model->insertAndSetId()
  #10 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\Database\Eloquent\Model->performInsert()
  #11 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\Database\Eloquent\Model->save()
  #12 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Support/helpers.php(320): Illuminate\Database\Eloquent\Builder->Illuminate\Database\Eloquent\{closure}()
  #13 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap()
  #14 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\Database\Eloquent\Builder->create()
  #15 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\Database\Eloquent\Model->forwardCallTo()
  #16 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\Database\Eloquent\Model->__call()
  #17 /var/www/crypto-sentinel/app/Jobs/ExecuteTradeJob.php(186): Illuminate\Database\Eloquent\Model::__callStatic()
  #18 /var/www/crypto-sentinel/app/Jobs/ExecuteTradeJob.php(76): App\Jobs\ExecuteTradeJob->recordFailure()
  #19 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Jobs\ExecuteTradeJob->handle()
  #20 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #21 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #22 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #23 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #24 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(128): Illuminate\Container\Container->call()
  #25 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}()
  #26 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #27 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then()
  #28 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(123): Illuminate\Bus\Dispatcher->dispatchNow()
  #29 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Queue\CallQueuedHandler->Illuminate\Queue\{closure}()
  #30 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #31 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(122): Illuminate\Pipeline\Pipeline->then()
  #32 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(70): Illuminate\Queue\CallQueuedHandler->dispatchThroughMiddleware()
  #33 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(102): Illuminate\Queue\CallQueuedHandler->call()
  #34 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(439): Illuminate\Queue\Jobs\Job->fire()
  #35 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(389): Illuminate\Queue\Worker->process()
  #36 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(176): Illuminate\Queue\Worker->runJob()
  #37 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(137): Illuminate\Queue\Worker->daemon()
  #38 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(120): Illuminate\Queue\Console\WorkCommand->runWorker()
  #39 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\Queue\Console\WorkCommand->handle()
  #40 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #41 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #42 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #43 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #44 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call()
  #45 /var/www/crypto-sentinel/vendor/symfony/console/Command/Command.php(326): Illuminate\Console\Command->execute()
  #46 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run()
  #47 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(1121): Illuminate\Console\Command->run()
  #48 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
  #49 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
  #50 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\Component\Console\Application->run()
  #51 /var/www/crypto-sentinel/artisan(35): Illuminate\Foundation\Console\Kernel->handle()
  #52 {main}

  Next Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: orders.type (Connection: sqlite, SQL: insert into "orders" ("trade_rule_id", "symbol", "side", "type", "quantity", "price", "status", "source", "error_message", "updated_at", "created_at") values (4, ETHUSDT, BUY, ?, ?, ?, failed, manual, RiskGuard: 无法估算本单金额 (缺少最新价), 2026-04-30 00:01:27, 2026-04-30 00:01:27)) in /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829
  Stack trace:
  #0 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\Database\Connection->runQueryCallback()
  #1 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(576): Illuminate\Database\Connection->run()
  #2 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(540): Illuminate\Database\Connection->statement()
  #3 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert()
  #4 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3549): Illuminate\Database\Query\Processors\Processor->processInsertGetId()
  #5 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\Database\Query\Builder->insertGetId()
  #6 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\Database\Eloquent\Builder->__call()
  #7 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\Database\Eloquent\Model->insertAndSetId()
  #8 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\Database\Eloquent\Model->performInsert()
  #9 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\Database\Eloquent\Model->save()
  #10 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Support/helpers.php(320): Illuminate\Database\Eloquent\Builder->Illuminate\Database\Eloquent\{closure}()
  #11 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap()
  #12 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\Database\Eloquent\Builder->create()
  #13 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\Database\Eloquent\Model->forwardCallTo()
  #14 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\Database\Eloquent\Model->__call()
  #15 /var/www/crypto-sentinel/app/Jobs/ExecuteTradeJob.php(186): Illuminate\Database\Eloquent\Model::__callStatic()
  #16 /var/www/crypto-sentinel/app/Jobs/ExecuteTradeJob.php(76): App\Jobs\ExecuteTradeJob->recordFailure()
  #17 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Jobs\ExecuteTradeJob->handle()
  #18 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #19 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #20 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #21 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #22 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(128): Illuminate\Container\Container->call()
  #23 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}()
  #24 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #25 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then()
  #26 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(123): Illuminate\Bus\Dispatcher->dispatchNow()
  #27 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Queue\CallQueuedHandler->Illuminate\Queue\{closure}()
  #28 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #29 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(122): Illuminate\Pipeline\Pipeline->then()
  #30 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(70): Illuminate\Queue\CallQueuedHandler->dispatchThroughMiddleware()
  #31 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(102): Illuminate\Queue\CallQueuedHandler->call()
  #32 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(439): Illuminate\Queue\Jobs\Job->fire()
  #33 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(389): Illuminate\Queue\Worker->process()
  #34 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(176): Illuminate\Queue\Worker->runJob()
  #35 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(137): Illuminate\Queue\Worker->daemon()
  #36 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(120): Illuminate\Queue\Console\WorkCommand->runWorker()
  #37 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\Queue\Console\WorkCommand->handle()
  #38 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #39 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #40 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #41 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #42 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call()
  #43 /var/www/crypto-sentinel/vendor/symfony/console/Command/Command.php(326): Illuminate\Console\Command->execute()
  #44 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run()
  #45 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(1121): Illuminate\Console\Command->run()
  #46 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
  #47 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
  #48 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\Component\Console\Application->run()
  #49 /var/www/crypto-sentinel/artisan(35): Illuminate\Foundation\Console\Kernel->handle()
  #50 {main}


uuid: ba9226b8-00ad-4695-8974-f53684855045
connection: redis
queue: default
failed_at: 2026-06-03 12:26:10
payload:
  {"uuid":"ba9226b8-00ad-4695-8974-f53684855045","displayName":"App\\Jobs\\ExecuteTradeJob","job":"Illuminate\\Queue\\CallQueuedHandler@call","maxTries":1,"maxExceptions":null,"failOnTimeout":false,"backoff":null,"timeout":null,"retryUntil":null,"data":{"commandName":"App\\Jobs\\ExecuteTradeJob","command":"O:24:\"App\\Jobs\\ExecuteTradeJob\":3:{s:11:\"tradeRuleId\";i:21;s:10:\"alertLogId\";i:826;s:14:\"symbolOverride\";s:7:\"SOLUSDT\";}"},"id":"uuWiwirOQAWCdkgPfIkNjRbVqOgCXijK","attempts":0}

exception:
  PDOException: SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: orders.quantity in /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php:587
  Stack trace:
  #0 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(587): PDOStatement->execute()
  #1 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\Database\Connection->Illuminate\Database\{closure}()
  #2 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\Database\Connection->runQueryCallback()
  #3 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(576): Illuminate\Database\Connection->run()
  #4 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(540): Illuminate\Database\Connection->statement()
  #5 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert()
  #6 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3549): Illuminate\Database\Query\Processors\Processor->processInsertGetId()
  #7 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\Database\Query\Builder->insertGetId()
  #8 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\Database\Eloquent\Builder->__call()
  #9 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\Database\Eloquent\Model->insertAndSetId()
  #10 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\Database\Eloquent\Model->performInsert()
  #11 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\Database\Eloquent\Model->save()
  #12 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Support/helpers.php(320): Illuminate\Database\Eloquent\Builder->Illuminate\Database\Eloquent\{closure}()
  #13 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap()
  #14 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\Database\Eloquent\Builder->create()
  #15 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\Database\Eloquent\Model->forwardCallTo()
  #16 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\Database\Eloquent\Model->__call()
  #17 /var/www/crypto-sentinel/app/Jobs/ExecuteTradeJob.php(218): Illuminate\Database\Eloquent\Model::__callStatic()
  #18 /var/www/crypto-sentinel/app/Jobs/ExecuteTradeJob.php(76): App\Jobs\ExecuteTradeJob->recordFailure()
  #19 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Jobs\ExecuteTradeJob->handle()
  #20 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #21 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #22 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #23 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #24 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(128): Illuminate\Container\Container->call()
  #25 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}()
  #26 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #27 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then()
  #28 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(123): Illuminate\Bus\Dispatcher->dispatchNow()
  #29 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Queue\CallQueuedHandler->Illuminate\Queue\{closure}()
  #30 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #31 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(122): Illuminate\Pipeline\Pipeline->then()
  #32 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(70): Illuminate\Queue\CallQueuedHandler->dispatchThroughMiddleware()
  #33 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(102): Illuminate\Queue\CallQueuedHandler->call()
  #34 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(439): Illuminate\Queue\Jobs\Job->fire()
  #35 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(389): Illuminate\Queue\Worker->process()
  #36 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(176): Illuminate\Queue\Worker->runJob()
  #37 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(137): Illuminate\Queue\Worker->daemon()
  #38 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(120): Illuminate\Queue\Console\WorkCommand->runWorker()
  #39 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\Queue\Console\WorkCommand->handle()
  #40 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #41 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #42 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #43 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #44 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call()
  #45 /var/www/crypto-sentinel/vendor/symfony/console/Command/Command.php(326): Illuminate\Console\Command->execute()
  #46 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run()
  #47 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(1121): Illuminate\Console\Command->run()
  #48 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
  #49 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
  #50 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\Component\Console\Application->run()
  #51 /var/www/crypto-sentinel/artisan(35): Illuminate\Foundation\Console\Kernel->handle()
  #52 {main}

  Next Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: orders.quantity (Connection: sqlite, SQL: insert into "orders" ("trade_rule_id", "symbol", "side", "type", "quantity", "price", "status", "source", "error_message", "updated_at", "created_at") values (21, SOLUSDT, BUY, MARKET, ?, ?, failed, auto, RiskGuard: 该规则今日交易次数已达上限 10, 2026-06-03 12:26:10, 2026-06-03 12:26:10)) in /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829
  Stack trace:
  #0 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\Database\Connection->runQueryCallback()
  #1 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(576): Illuminate\Database\Connection->run()
  #2 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(540): Illuminate\Database\Connection->statement()
  #3 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert()
  #4 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3549): Illuminate\Database\Query\Processors\Processor->processInsertGetId()
  #5 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\Database\Query\Builder->insertGetId()
  #6 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\Database\Eloquent\Builder->__call()
  #7 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\Database\Eloquent\Model->insertAndSetId()
  #8 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\Database\Eloquent\Model->performInsert()
  #9 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\Database\Eloquent\Model->save()
  #10 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Support/helpers.php(320): Illuminate\Database\Eloquent\Builder->Illuminate\Database\Eloquent\{closure}()
  #11 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap()
  #12 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\Database\Eloquent\Builder->create()
  #13 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\Database\Eloquent\Model->forwardCallTo()
  #14 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\Database\Eloquent\Model->__call()
  #15 /var/www/crypto-sentinel/app/Jobs/ExecuteTradeJob.php(218): Illuminate\Database\Eloquent\Model::__callStatic()
  #16 /var/www/crypto-sentinel/app/Jobs/ExecuteTradeJob.php(76): App\Jobs\ExecuteTradeJob->recordFailure()
  #17 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Jobs\ExecuteTradeJob->handle()
  #18 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #19 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #20 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #21 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #22 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(128): Illuminate\Container\Container->call()
  #23 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}()
  #24 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #25 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then()
  #26 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(123): Illuminate\Bus\Dispatcher->dispatchNow()
  #27 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Queue\CallQueuedHandler->Illuminate\Queue\{closure}()
  #28 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #29 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(122): Illuminate\Pipeline\Pipeline->then()
  #30 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(70): Illuminate\Queue\CallQueuedHandler->dispatchThroughMiddleware()
  #31 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(102): Illuminate\Queue\CallQueuedHandler->call()
  #32 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(439): Illuminate\Queue\Jobs\Job->fire()
  #33 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(389): Illuminate\Queue\Worker->process()
  #34 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(176): Illuminate\Queue\Worker->runJob()
  #35 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(137): Illuminate\Queue\Worker->daemon()
  #36 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(120): Illuminate\Queue\Console\WorkCommand->runWorker()
  #37 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\Queue\Console\WorkCommand->handle()
  #38 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #39 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #40 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #41 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #42 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call()
  #43 /var/www/crypto-sentinel/vendor/symfony/console/Command/Command.php(326): Illuminate\Console\Command->execute()
  #44 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run()
  #45 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(1121): Illuminate\Console\Command->run()
  #46 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
  #47 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
  #48 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\Component\Console\Application->run()
  #49 /var/www/crypto-sentinel/artisan(35): Illuminate\Foundation\Console\Kernel->handle()
  #50 {main}


uuid: 05755de0-26b3-4d9a-bf21-94ac31b94693
connection: redis
queue: default
failed_at: 2026-06-03 13:03:11
payload:
  {"uuid":"05755de0-26b3-4d9a-bf21-94ac31b94693","displayName":"App\\Jobs\\ExecuteTradeJob","job":"Illuminate\\Queue\\CallQueuedHandler@call","maxTries":1,"maxExceptions":null,"failOnTimeout":false,"backoff":null,"timeout":null,"retryUntil":null,"data":{"commandName":"App\\Jobs\\ExecuteTradeJob","command":"O:24:\"App\\Jobs\\ExecuteTradeJob\":3:{s:11:\"tradeRuleId\";i:21;s:10:\"alertLogId\";i:827;s:14:\"symbolOverride\";s:7:\"ETHUSDT\";}"},"id":"rz0Kfa9angMM0gCz6Gb5Wf5NV4vhdpof","attempts":0}

exception:
  PDOException: SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: orders.quantity in /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php:587
  Stack trace:
  #0 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(587): PDOStatement->execute()
  #1 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\Database\Connection->Illuminate\Database\{closure}()
  #2 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\Database\Connection->runQueryCallback()
  #3 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(576): Illuminate\Database\Connection->run()
  #4 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(540): Illuminate\Database\Connection->statement()
  #5 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert()
  #6 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3549): Illuminate\Database\Query\Processors\Processor->processInsertGetId()
  #7 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\Database\Query\Builder->insertGetId()
  #8 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\Database\Eloquent\Builder->__call()
  #9 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\Database\Eloquent\Model->insertAndSetId()
  #10 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\Database\Eloquent\Model->performInsert()
  #11 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\Database\Eloquent\Model->save()
  #12 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Support/helpers.php(320): Illuminate\Database\Eloquent\Builder->Illuminate\Database\Eloquent\{closure}()
  #13 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap()
  #14 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\Database\Eloquent\Builder->create()
  #15 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\Database\Eloquent\Model->forwardCallTo()
  #16 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\Database\Eloquent\Model->__call()
  #17 /var/www/crypto-sentinel/app/Jobs/ExecuteTradeJob.php(218): Illuminate\Database\Eloquent\Model::__callStatic()
  #18 /var/www/crypto-sentinel/app/Jobs/ExecuteTradeJob.php(76): App\Jobs\ExecuteTradeJob->recordFailure()
  #19 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Jobs\ExecuteTradeJob->handle()
  #20 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #21 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #22 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #23 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #24 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(128): Illuminate\Container\Container->call()
  #25 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}()
  #26 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #27 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then()
  #28 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(123): Illuminate\Bus\Dispatcher->dispatchNow()
  #29 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Queue\CallQueuedHandler->Illuminate\Queue\{closure}()
  #30 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #31 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(122): Illuminate\Pipeline\Pipeline->then()
  #32 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(70): Illuminate\Queue\CallQueuedHandler->dispatchThroughMiddleware()
  #33 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(102): Illuminate\Queue\CallQueuedHandler->call()
  #34 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(439): Illuminate\Queue\Jobs\Job->fire()
  #35 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(389): Illuminate\Queue\Worker->process()
  #36 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(176): Illuminate\Queue\Worker->runJob()
  #37 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(137): Illuminate\Queue\Worker->daemon()
  #38 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(120): Illuminate\Queue\Console\WorkCommand->runWorker()
  #39 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\Queue\Console\WorkCommand->handle()
  #40 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #41 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #42 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #43 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #44 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call()
  #45 /var/www/crypto-sentinel/vendor/symfony/console/Command/Command.php(326): Illuminate\Console\Command->execute()
  #46 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run()
  #47 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(1121): Illuminate\Console\Command->run()
  #48 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
  #49 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
  #50 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\Component\Console\Application->run()
  #51 /var/www/crypto-sentinel/artisan(35): Illuminate\Foundation\Console\Kernel->handle()
  #52 {main}

  Next Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: orders.quantity (Connection: sqlite, SQL: insert into "orders" ("trade_rule_id", "symbol", "side", "type", "quantity", "price", "status", "source", "error_message", "updated_at", "created_at") values (21, ETHUSDT, BUY, MARKET, ?, ?, failed, auto, RiskGuard: 该规则今日交易次数已达上限 10, 2026-06-03 13:03:11, 2026-06-03 13:03:11)) in /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829
  Stack trace:
  #0 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\Database\Connection->runQueryCallback()
  #1 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(576): Illuminate\Database\Connection->run()
  #2 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(540): Illuminate\Database\Connection->statement()
  #3 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert()
  #4 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3549): Illuminate\Database\Query\Processors\Processor->processInsertGetId()
  #5 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\Database\Query\Builder->insertGetId()
  #6 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\Database\Eloquent\Builder->__call()
  #7 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\Database\Eloquent\Model->insertAndSetId()
  #8 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\Database\Eloquent\Model->performInsert()
  #9 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\Database\Eloquent\Model->save()
  #10 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Support/helpers.php(320): Illuminate\Database\Eloquent\Builder->Illuminate\Database\Eloquent\{closure}()
  #11 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap()
  #12 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\Database\Eloquent\Builder->create()
  #13 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\Database\Eloquent\Model->forwardCallTo()
  #14 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\Database\Eloquent\Model->__call()
  #15 /var/www/crypto-sentinel/app/Jobs/ExecuteTradeJob.php(218): Illuminate\Database\Eloquent\Model::__callStatic()
  #16 /var/www/crypto-sentinel/app/Jobs/ExecuteTradeJob.php(76): App\Jobs\ExecuteTradeJob->recordFailure()
  #17 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Jobs\ExecuteTradeJob->handle()
  #18 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #19 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #20 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #21 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #22 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(128): Illuminate\Container\Container->call()
  #23 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}()
  #24 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #25 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then()
  #26 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(123): Illuminate\Bus\Dispatcher->dispatchNow()
  #27 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Queue\CallQueuedHandler->Illuminate\Queue\{closure}()
  #28 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #29 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(122): Illuminate\Pipeline\Pipeline->then()
  #30 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(70): Illuminate\Queue\CallQueuedHandler->dispatchThroughMiddleware()
  #31 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(102): Illuminate\Queue\CallQueuedHandler->call()
  #32 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(439): Illuminate\Queue\Jobs\Job->fire()
  #33 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(389): Illuminate\Queue\Worker->process()
  #34 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(176): Illuminate\Queue\Worker->runJob()
  #35 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(137): Illuminate\Queue\Worker->daemon()
  #36 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(120): Illuminate\Queue\Console\WorkCommand->runWorker()
  #37 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\Queue\Console\WorkCommand->handle()
  #38 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #39 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #40 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #41 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #42 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call()
  #43 /var/www/crypto-sentinel/vendor/symfony/console/Command/Command.php(326): Illuminate\Console\Command->execute()
  #44 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run()
  #45 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(1121): Illuminate\Console\Command->run()
  #46 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
  #47 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
  #48 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\Component\Console\Application->run()
  #49 /var/www/crypto-sentinel/artisan(35): Illuminate\Foundation\Console\Kernel->handle()
  #50 {main}


uuid: 5e3bc3ec-c76f-469b-a6a6-9ce0f1a6f9dd
connection: redis
queue: default
failed_at: 2026-06-03 13:08:12
payload:
  {"uuid":"5e3bc3ec-c76f-469b-a6a6-9ce0f1a6f9dd","displayName":"App\\Jobs\\ExecuteTradeJob","job":"Illuminate\\Queue\\CallQueuedHandler@call","maxTries":1,"maxExceptions":null,"failOnTimeout":false,"backoff":null,"timeout":null,"retryUntil":null,"data":{"commandName":"App\\Jobs\\ExecuteTradeJob","command":"O:24:\"App\\Jobs\\ExecuteTradeJob\":3:{s:11:\"tradeRuleId\";i:21;s:10:\"alertLogId\";i:828;s:14:\"symbolOverride\";s:7:\"BNBUSDT\";}"},"id":"vsgK92HP3VSL96ftqYkRbDLflg0BAveJ","attempts":0}

exception:
  PDOException: SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: orders.quantity in /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php:587
  Stack trace:
  #0 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(587): PDOStatement->execute()
  #1 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(816): Illuminate\Database\Connection->Illuminate\Database\{closure}()
  #2 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\Database\Connection->runQueryCallback()
  #3 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(576): Illuminate\Database\Connection->run()
  #4 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(540): Illuminate\Database\Connection->statement()
  #5 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert()
  #6 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3549): Illuminate\Database\Query\Processors\Processor->processInsertGetId()
  #7 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\Database\Query\Builder->insertGetId()
  #8 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\Database\Eloquent\Builder->__call()
  #9 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\Database\Eloquent\Model->insertAndSetId()
  #10 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\Database\Eloquent\Model->performInsert()
  #11 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\Database\Eloquent\Model->save()
  #12 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Support/helpers.php(320): Illuminate\Database\Eloquent\Builder->Illuminate\Database\Eloquent\{closure}()
  #13 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap()
  #14 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\Database\Eloquent\Builder->create()
  #15 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\Database\Eloquent\Model->forwardCallTo()
  #16 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\Database\Eloquent\Model->__call()
  #17 /var/www/crypto-sentinel/app/Jobs/ExecuteTradeJob.php(218): Illuminate\Database\Eloquent\Model::__callStatic()
  #18 /var/www/crypto-sentinel/app/Jobs/ExecuteTradeJob.php(76): App\Jobs\ExecuteTradeJob->recordFailure()
  #19 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Jobs\ExecuteTradeJob->handle()
  #20 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #21 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #22 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #23 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #24 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(128): Illuminate\Container\Container->call()
  #25 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}()
  #26 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #27 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then()
  #28 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(123): Illuminate\Bus\Dispatcher->dispatchNow()
  #29 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Queue\CallQueuedHandler->Illuminate\Queue\{closure}()
  #30 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #31 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(122): Illuminate\Pipeline\Pipeline->then()
  #32 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(70): Illuminate\Queue\CallQueuedHandler->dispatchThroughMiddleware()
  #33 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(102): Illuminate\Queue\CallQueuedHandler->call()
  #34 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(439): Illuminate\Queue\Jobs\Job->fire()
  #35 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(389): Illuminate\Queue\Worker->process()
  #36 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(176): Illuminate\Queue\Worker->runJob()
  #37 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(137): Illuminate\Queue\Worker->daemon()
  #38 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(120): Illuminate\Queue\Console\WorkCommand->runWorker()
  #39 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\Queue\Console\WorkCommand->handle()
  #40 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #41 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #42 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #43 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #44 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call()
  #45 /var/www/crypto-sentinel/vendor/symfony/console/Command/Command.php(326): Illuminate\Console\Command->execute()
  #46 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run()
  #47 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(1121): Illuminate\Console\Command->run()
  #48 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
  #49 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
  #50 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\Component\Console\Application->run()
  #51 /var/www/crypto-sentinel/artisan(35): Illuminate\Foundation\Console\Kernel->handle()
  #52 {main}

  Next Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: orders.quantity (Connection: sqlite, SQL: insert into "orders" ("trade_rule_id", "symbol", "side", "type", "quantity", "price", "status", "source", "error_message", "updated_at", "created_at") values (21, BNBUSDT, BUY, MARKET, ?, ?, failed, auto, RiskGuard: 该规则今日交易次数已达上限 10, 2026-06-03 13:08:12, 2026-06-03 13:08:12)) in /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829
  Stack trace:
  #0 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(783): Illuminate\Database\Connection->runQueryCallback()
  #1 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(576): Illuminate\Database\Connection->run()
  #2 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(540): Illuminate\Database\Connection->statement()
  #3 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert()
  #4 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3549): Illuminate\Database\Query\Processors\Processor->processInsertGetId()
  #5 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1982): Illuminate\Database\Query\Builder->insertGetId()
  #6 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1334): Illuminate\Database\Eloquent\Builder->__call()
  #7 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1299): Illuminate\Database\Eloquent\Model->insertAndSetId()
  #8 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1138): Illuminate\Database\Eloquent\Model->performInsert()
  #9 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1025): Illuminate\Database\Eloquent\Model->save()
  #10 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Support/helpers.php(320): Illuminate\Database\Eloquent\Builder->Illuminate\Database\Eloquent\{closure}()
  #11 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1024): tap()
  #12 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php(23): Illuminate\Database\Eloquent\Builder->create()
  #13 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2335): Illuminate\Database\Eloquent\Model->forwardCallTo()
  #14 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2347): Illuminate\Database\Eloquent\Model->__call()
  #15 /var/www/crypto-sentinel/app/Jobs/ExecuteTradeJob.php(218): Illuminate\Database\Eloquent\Model::__callStatic()
  #16 /var/www/crypto-sentinel/app/Jobs/ExecuteTradeJob.php(76): App\Jobs\ExecuteTradeJob->recordFailure()
  #17 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Jobs\ExecuteTradeJob->handle()
  #18 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #19 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #20 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #21 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #22 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(128): Illuminate\Container\Container->call()
  #23 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}()
  #24 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #25 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then()
  #26 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(123): Illuminate\Bus\Dispatcher->dispatchNow()
  #27 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\Queue\CallQueuedHandler->Illuminate\Queue\{closure}()
  #28 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
  #29 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(122): Illuminate\Pipeline\Pipeline->then()
  #30 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(70): Illuminate\Queue\CallQueuedHandler->dispatchThroughMiddleware()
  #31 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(102): Illuminate\Queue\CallQueuedHandler->call()
  #32 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(439): Illuminate\Queue\Jobs\Job->fire()
  #33 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(389): Illuminate\Queue\Worker->process()
  #34 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(176): Illuminate\Queue\Worker->runJob()
  #35 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(137): Illuminate\Queue\Worker->daemon()
  #36 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(120): Illuminate\Queue\Console\WorkCommand->runWorker()
  #37 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\Queue\Console\WorkCommand->handle()
  #38 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
  #39 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure()
  #40 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
  #41 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\Container\BoundMethod::call()
  #42 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call()
  #43 /var/www/crypto-sentinel/vendor/symfony/console/Command/Command.php(326): Illuminate\Console\Command->execute()
  #44 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run()
  #45 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(1121): Illuminate\Console\Command->run()
  #46 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
  #47 /var/www/crypto-sentinel/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
  #48 /var/www/crypto-sentinel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\Component\Console\Application->run()
  #49 /var/www/crypto-sentinel/artisan(35): Illuminate\Foundation\Console\Kernel->handle()
  #50 {main}


# alerts

type: market_anomaly
last_triggered_at: 2026-05-24 22:06:44
notify_via: ["telegram"]
created_at: 2026-05-23 18:20:01
updated_at: 2026-05-24 22:12:28
breaker_reset_at: 2026-05-24 18:14:21
params:
  {"window_min":5,"vol_ratio":2.3,"min_quote_vol":5000000,"direction":"both","scope":"all","exclude":["FIDAUSDT"]}


# trade_rules

name: ETH auto Trade by vol 1hr
symbol: ETHUSDT
side: BUY
created_at: 2026-04-27 14:35:36
updated_at: 2026-04-30 00:00:28
market_type: futures
side_mode: follow_1h
tp_sl_pct_basis: margin
entry_conditions:
  {"rsi_1h":{"enabled":true,"min":30,"max":70},"oi_ratio":{"enabled":true,"window_hours":1,"max":2},"funding":{"enabled":false,"max_abs_pct":0.05},"pct_24h":{"enabled":false,"min":-5,"max":5},"pct_1h":{"enabled":false,"min":-2,"max":2},"ls_ratio":{"enabled":false,"min":0.7,"max":1.4}}


name: RSI 1h 超买做空
side: SELL
created_at: 2026-05-01 22:12:27
updated_at: 2026-05-01 22:12:27
market_type: futures
side_mode: fixed
tp_sl_pct_basis: margin
entry_conditions:
  {"rsi_1h":{"enabled":false,"min":30,"max":70},"oi_ratio":{"enabled":false,"window_hours":1,"max":2},"funding":{"enabled":false,"max_abs_pct":0.05},"pct_24h":{"enabled":false,"min":-5,"max":5},"pct_1h":{"enabled":true,"min":-2,"max":1.5},"ls_ratio":{"enabled":false,"min":0.7,"max":1.4}}


name: [模板] 均线死叉顺势 · 监控列表
side: SELL
created_at: 2026-05-21 17:53:00
updated_at: 2026-05-21 17:53:00
market_type: futures
side_mode: fixed
tp_sl_pct_basis: margin
entry_conditions:
  {"rsi_1h":{"enabled":true,"min":25,"max":100},"oi_ratio":{"enabled":false,"window_hours":4,"max":2},"funding":{"enabled":false,"max_abs_pct":0.05},"pct_24h":{"enabled":false,"min":-5,"max":5},"pct_1h":{"enabled":false,"min":-2,"max":2},"ls_ratio":{"enabled":false,"min":0.7,"max":1.4}}


name: [模板] 布林挤压突破 · 监控列表
side: BUY
created_at: 2026-05-21 18:20:23
updated_at: 2026-05-21 18:20:23
market_type: futures
side_mode: fixed
tp_sl_pct_basis: margin
entry_conditions:
  {"rsi_1h":{"enabled":false,"min":30,"max":70},"oi_ratio":{"enabled":false,"window_hours":4,"max":2},"funding":{"enabled":false,"max_abs_pct":0.05},"pct_24h":{"enabled":false,"min":-5,"max":5},"pct_1h":{"enabled":false,"min":-2,"max":2},"ls_ratio":{"enabled":false,"min":0.7,"max":1.4},"trend_4h":{"enabled":true,"direction":"up"}}


name: [模板] MACD 金叉趋势共振 · 监控列表
side: BUY
created_at: 2026-05-21 18:20:52
updated_at: 2026-05-21 18:20:52
market_type: futures
side_mode: fixed
tp_sl_pct_basis: margin
entry_conditions:
  {"rsi_1h":{"enabled":true,"min":45,"max":75},"oi_ratio":{"enabled":false,"window_hours":4,"max":2},"funding":{"enabled":false,"max_abs_pct":0.05},"pct_24h":{"enabled":false,"min":-5,"max":5},"pct_1h":{"enabled":false,"min":-2,"max":2},"ls_ratio":{"enabled":false,"min":0.7,"max":1.4},"trend_4h":{"enabled":true,"direction":"up"}}


name: [模板] Supertrend+RSI 顺势空 · 监控列表
side: SELL
created_at: 2026-05-21 18:21:02
updated_at: 2026-05-21 18:21:02
market_type: futures
side_mode: fixed
tp_sl_pct_basis: margin
entry_conditions:
  {"rsi_1h":{"enabled":true,"min":0,"max":50},"oi_ratio":{"enabled":false,"window_hours":4,"max":2},"funding":{"enabled":false,"max_abs_pct":0.05},"pct_24h":{"enabled":false,"min":-5,"max":5},"pct_1h":{"enabled":false,"min":-2,"max":2},"ls_ratio":{"enabled":false,"min":0.7,"max":1.4},"trend_4h":{"enabled":true,"direction":"down"}}


name: [模板] Supertrend+RSI 顺势多 · 监控列表
side: BUY
created_at: 2026-05-21 18:21:16
updated_at: 2026-05-21 18:21:16
market_type: futures
side_mode: fixed
tp_sl_pct_basis: margin
entry_conditions:
  {"rsi_1h":{"enabled":true,"min":50,"max":100},"oi_ratio":{"enabled":false,"window_hours":4,"max":2},"funding":{"enabled":false,"max_abs_pct":0.05},"pct_24h":{"enabled":false,"min":-5,"max":5},"pct_1h":{"enabled":false,"min":-2,"max":2},"ls_ratio":{"enabled":false,"min":0.7,"max":1.4},"trend_4h":{"enabled":true,"direction":"up"}}


name: [模板] 资金费率过热反向 · 监控列表
side: SELL
created_at: 2026-05-21 18:22:40
updated_at: 2026-05-21 18:22:40
market_type: futures
side_mode: fixed
tp_sl_pct_basis: margin
entry_conditions:
  {"rsi_1h":{"enabled":false,"min":30,"max":70},"oi_ratio":{"enabled":false,"window_hours":4,"max":2},"funding":{"enabled":false,"max_abs_pct":0.05},"pct_24h":{"enabled":false,"min":-5,"max":5},"pct_1h":{"enabled":false,"min":-2,"max":2},"ls_ratio":{"enabled":true,"min":1.3,"max":99},"trend_4h":{"enabled":false,"direction":"up"}}


