1
votes

I am queuing jobs to run after 1 minute from my controller and jobs appear in "jobs" table correctly, but as per doc I have to run php artisan queue:work to get jobs executed but in my case they are being executed without any command on Ubuntu server (AWS ec2). Also such jobs go to failed jobs table as they are reading some old code of controller which I changed earlier. Note: If I run php artisan queue:work, then some of the jobs are processed by this and get executed with new code without generating any error while some of the jobs are executed by that unknown background process and generates old code error


Result of php arisan list
"root@ip-172-31-30-76:/var/www/html# php artisan list
Laravel Framework 5.5.32

Usage:
  command [options] [arguments]

Options:
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
      --env[=ENV]       The environment the command should run under
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  clear-compiled              Remove the compiled class file
  down                        Put the application into maintenance mode
  env                         Display the current framework environment
  help                        Displays help for a command
  list                        Lists commands
  migrate                     Run the database migrations
  optimize                    Optimize the framework for better performance (deprecated)
  preset                      Swap the front-end scaffolding for the application
  serve                       Serve the application on the PHP development server
  tinker                      Interact with your application
  up                          Bring the application out of maintenance mode
 app
  app:name                    Set the application namespace
 auth
  auth:clear-resets           Flush expired password reset tokens
 cache
  cache:clear                 Flush the application cache
  cache:forget                Remove an item from the cache
  cache:table                 Create a migration for the cache database table
 config
  config:cache                Create a cache file for faster configuration loading
  config:clear                Remove the configuration cache file
 customSolutions
  customSolutions:sportsplus  This command is for executing custom solutions
 datatables
  datatables:make             Create a new DataTable service class.
  datatables:scope            Create a new DataTable Scope class.
 db
  db:seed                     Seed the database with records
 entrust
  entrust:migration           Creates a migration following the Entrust specifications.
 event
  event:generate              Generate the missing events and listeners based on registration
 import
  import:SyncOrders           This imports orders from different channels
 key
  key:generate                Set the application key
 make
  make:auth                   Scaffold basic login and registration views and routes
  make:command                Create a new Artisan command
  make:controller             Create a new controller class
  make:event                  Create a new event class
  make:exception              Create a new custom exception class
  make:factory                Create a new model factory
  make:job                    Create a new job class
  make:listener               Create a new event listener class
  make:mail                   Create a new email class
  make:middleware             Create a new middleware class
  make:migration              Create a new migration file
  make:model                  Create a new Eloquent model class
  make:notification           Create a new notification class
  make:policy                 Create a new policy class
  make:provider               Create a new service provider class
  make:request                Create a new form request class
  make:resource               Create a new resource
  make:rule                   Create a new validation rule
  make:seeder                 Create a new seeder class
  make:test                   Create a new test class
 migrate
  migrate:fresh               Drop all tables and re-run all migrations
  migrate:install             Create the migration repository
  migrate:refresh             Reset and re-run all migrations
  migrate:reset               Rollback all database migrations
  migrate:rollback            Rollback the last database migration
  migrate:status              Show the status of each migration
 notifications
  notifications:table         Create a migration for the notifications table
 package
  package:discover            Rebuild the cached package manifest
 queue
  queue:failed                List all of the failed queue jobs
  queue:failed-table          Create a migration for the failed queue jobs database table
  queue:flush                 Flush all of the failed queue jobs
  queue:forget                Delete a failed queue job
  queue:listen                Listen to a given queue
  queue:restart               Restart queue worker daemons after their current job
  queue:retry                 Retry a failed queue job
  queue:table                 Create a migration for the queue jobs database table
  queue:work                  Start processing jobs on the queue as a daemon
 route
  route:cache                 Create a route cache file for faster route registration
  route:clear                 Remove the route cache file
  route:list                  List all registered routes
 schedule
  schedule:run                Run the scheduled commands
 session
  session:table               Create a migration for the session database table
 storage
  storage:link                Create a symbolic link from "public/storage" to "storage/app/public"
 vendor
  vendor:publish              Publish any publishable assets from vendor packages
 view
  view:clear                  Clear all compiled view files
"
Result of cront -l

* * * * * php /var/www/html/artisan schedule:run >> /var/www/html/logs.txt 2>&1

2
can you show the result of php artisan listShailendra Gupta
what are the results of crontab -l on the server?wheelmaker
queue drivers is "database"Ali Hamza
What does your config/queue.php look like?ahinkle
@Daniyal, I solved it by using another custom queue instead of default one. e.g falling them under "orders" queue and then had to run the command php artisan queue:work --queue=orders --tries=2Ali Hamza

2 Answers

2
votes

This can happen if your queue connection is still set to the default (sync). If you're using Laravel 5.7 or above, check your .env file and ensure that you have the following:

QUEUE_CONNECTION=database

Note that in Laravel 5.7, QUEUE_DRIVER was changed to QUEUE_CONNECTION: https://laravel.com/docs/5.7/upgrade

0
votes

I had the same issue, i fixed it by restarting Redis.
Commands for help.
sudo systemctl stop redis
sudo systemctl start redis