There is no problem not worth solving, and no technology not worth learning!

In Linux, Laravel 6, the task queue is always running for troubleshooting analysis (timeout time has been set)

查看生成的日志文件,以确认命令已经执行完毕。确认命令未执行完成,因为未生成 -1 的日志文件

1. The command in the task queue artisan::call, the code is as follows

    /**
     * 执行安装主题命令
     * @param string $themeLocation 编译后的主题所在目录
     * @param string $themeId 主题ID
     * @param bool $force 主题ID
     * @return void
     */
    public function installTheme($themeLocation, $themeId, $force)
    {
        file_put_contents(storage_path() . '/logs/ExecCommandHandler-installTheme-0-' . microtime(true) . '-' . mt_rand()  . '.txt', print_r($themeId, true), FILE_APPEND | LOCK_EX);
        $installThemeExitCode = Artisan::call('theme-store:theme:install', [
            'theme_location' => $themeLocation,
            'theme_id' => $themeId,
            'layout' => 'blade',
            '--force' => $force,
        ]);
        file_put_contents(storage_path() . '/logs/ExecCommandHandler-installTheme-1-' . microtime(true) . '-' . mt_rand()  . '.txt', print_r($themeId, true), FILE_APPEND | LOCK_EX);

        if ($installThemeExitCode !== 0) {
            abort(500, 'Install theme failed.');
        }
    }


2. Check the generated log file to confirm that the command has been executed. Confirm that the command was not executed because the log file of -1 was not generated. as shown in Figure 1

查看生成的日志文件,以确认命令已经执行完毕。确认命令未执行完成,因为未生成 -1 的日志文件
Figure 1
/var/www/object/storage/logs # ls -l
total 4
-rw-r--r--    1 www      www             36 Aug 16 09:56 ExecCommandHandler-installTheme-0-1660643779.8784-1362478949.txt
/var/www/object/storage/logs # 


3. Decide to manually execute the command line in the container, and the execution fails. as shown in Figure 2

决定在容器中手动执行命令行,执行失败
Figure 2
/var/www/object # php artisan theme-store:theme:install /var/www/object/storage/ap
p/theme_downloads/2022/08/16/1660643779.663.1639598452 9708e042-0b71-4667-87da-0
738232afb35 blade --force
安装主题到数据仓库
安装失败,因为: SQLSTATE[22032]: <<Unknown error>>: 3140 Invalid JSON text: "Missing a name for object member." at position 168 in value for column 'theme_asset.schema'. (SQL: insert into `theme_asset` (`asset_key`, `theme_id`, `mime_type`, `created_at`, `content`, `schema`, `category`, `updated_at`) values (apps/internal/comment/blocks/comment.blade.php, 9708e042-0b71-4667-87da-0738232afb35, text/html, 2022-08-16 10:12:52, @php
  $enable = $product[\'review_status\'] === \'open\';
@endphp
 
@if($enable)
  <link rel=\"preload\" as=\"style\" onload=\"this.rel=\'stylesheet\'\" href=\"{{ \'app.css\' | theme_asset_url }}\">
 
  @script
    <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%3E%0A%20%20%20%20%20%20Object.assign(window.plugins%2C%20%7B%0A%20%20%20%20%20%20%20%20comment%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20name%3A%20%5C'%7B%7B%20%40config(%5C'comment.name%5C')%20%7D%7D%5C'%2C%0A%20%20%20%20%20%20%20%20%20%20template%3A%20%5C'%7B%7B%20%40config(%5C'comment.template%5C')%20%3F%3F%20%5C%22tile%5C%22%20%7D%7D%5C'%2C%0A%20%20%20%20%20%20%20%20%20%20count%3A%20%7B%7B%20%40config(%5C'comment.count%5C')%20%3F%3F%204%20%7D%7D%2C%0A%20%20%20%20%20%20%20%20%20%20comment_time%3A%20%5C'%7B%7B%20%40config(%5C'comment.comment_time%5C')%20%3F%3F%20%5C%22no%5C%22%20%7D%7D%5C'%2C%0A%20%20%20%20%20%20%20%20%20%20comment_country%3A%20%5C'%7B%7B%20%40config(%5C'comment.comment_country%5C')%20%3F%3F%20%5C%22no%5C%22%20%7D%7D%5C'%2C%0A%20%20%20%20%20%20%20%20%20%20comment_account%3A%20%5C'%7B%7B%20%40config(%5C'comment.comment_account%5C')%20%3F%3F%20%5C%22no%5C%22%20%7D%7D%5C'%2C%0A%20%20%20%20%20%20%20%20%20%20comment_fives_star%3A%20%5C'%7B%7B%20%40config(%5C'comment.comment_fives_star%5C')%20%3F%3F%20%5C%22no%5C%22%20%7D%7D%5C'%2C%0A%20%20%20%20%20%20%20%20%20%20comment_four_star%3A%20%5C'%7B%7B%20%40config(%5C'comment.comment_four_star%5C')%20%3F%3F%20%5C%22no%5C%22%20%7D%7D%5C'%2C%0A%20%20%20%20%20%20%20%20%20%20comment_counts%3A%20%7B%7B%20%40config(%5C'comment.comment_counts%5C')%20%3F%3F%200%20%7D%7D%2C%0A%20%20%20%20%20%20%20%20%20%20translate%3A%20%5C'%7B%7B%20%40config(%5C'comment.translate%5C')%20%3F%3F%20%5C%22Y%5C%22%20%7D%7D%5C'%2C%0A%20%20%20%20%20%20%20%20%20%20store_template%3A%20%5C'%7B%7B%20%40config(%5C'comment.store_template%5C')%20%3F%3F%20%5C%22tile%5C%22%20%7D%7D%5C'%2C%0A%20%20%20%20%20%20%20%20%20%20store_count%3A%20%7B%7B%20%40config(%5C'comment.store_count%5C')%20%3F%3F%20%5C'4%5C'%20%7D%7D%2C%0A%20%20%20%20%20%20%20%20%20%20store_comment_time%3A%20%5C'%7B%7B%20%40config(%5C'comment.store_comment_time%5C')%20%3F%3F%20%5C%22no%5C%22%20%7D%7D%5C'%2C%0A%20%20%20%20%20%20%20%20%20%20store_comment_country%3A%20%5C'%7B%7B%20%40config(%5C'comment.store_comment_country%5C')%20%3F%3F%20%5C%22no%5C%22%20%7D%7D%5C'%2C%0A%20%20%20%20%20%20%20%20%20%20comment_import%3A%20%40json(%40config(%5C'comment.comment_import%5C')%20%3F%3F%20%5B%5D)%2C%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D)%0A%20%20%20%20%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="<script>" title="<script>" />
  @endScript
 
  <section class=\"section rendering\">
    <h2 class=\"text-2xl text-center md:text-left font-normal leading-loose\">
      {{ \'comment.customer_review\' | t }}
    </h2>
    <div class=\"flex flex-col items-center justify-start sm:flex-row md:justify-between mb-4 gap-4\">
      <div class=\"sm:flex-1 flex-col flex sm:flex-row items-center\">
        <div class=\"sm:inline-block max-w-[280px] inline-flex items-center py-2 grow\">
          <div class=\"inline-block bg-slate-200 text-5xl sm:text-6xl sm:text-left text-center mr-1\">{!! str_repeat(\' \', 6) !!}</div>
          <div class=\"w-1/2 sm:w-full text-left mt-2\">
            <div class=\"h-5 w-24 bg-slate-200\"></div>
            <div class=\"h-5 w-4/5 mt-1 bg-slate-200\"></div>
          </div>
        </div>
        <ul class=\"inline-block\">
          @for ($i = 0; $i < 5; $i++)
          <li class=\"w-60 h-4 mb-1.5 bg-slate-200\"></li>
          @endFor
        </ul>
      </div>
      <div class=\"w-full sm:w-36\">
        <div class=\"h-10 my-6 bg-slate-200\"></div>
      </div>
    </div>
  </section>
@endif
 
 
 
, {
  "name": "商品评论",
  "target": "section",
  "templates": ["product_detail"],
  "available_if": "{{ is_module_enabled('Comment') }}",
  "javascript": "app.js",
}, app_block, 2022-08-16 10:12:52))
/var/www/object # 
 

4. The root cause is that the command line execution failed, and no exception was thrown. If an exception is thrown, the task queue will not be in progress and will fail automatically.

PHP / Laravel / Yii2 Legacy Project Maintenance & Long-Term Technical Support

If your PHP / Laravel / Yii2 project is already in production but needs bug fixing, API troubleshooting, performance optimization, developer handover support, or long-term maintenance, feel free to contact me for remote technical support.

Ideal For:
✅ PHP legacy systems without active maintenance
✅ Laravel / Yii2 project bug fixes
✅ Admin panel feature iterations
✅ RESTful API troubleshooting
✅ MySQL / Redis / Nginx performance issues
✅ Long-term remote part-time maintenance

We can start with a small task:
✅ Production error troubleshooting
✅ API issue analysis
✅ Slow query and performance bottleneck diagnosis
✅ Initial code structure review
✅ Deployment environment and log inspection

If you would like to discuss your project, please contact me and mention: PHP Maintenance Consultation.

Contact Me:
Telegram: @shuijingwan
WeChat: 13980074657
Email: shuijingwanwq@gmail.com

评论

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.