I recently had a problem on my production server where a certain job wasn't running the handle() method but the job was marked as complete in the queue without fail. I did php artisan cache:clear and the problem was resolved.
Obviously this is a temporary fix and I'm not sure what's happening as there is no use of caching within the job itself. I do however use a queue supervisor. Does anyone know what could be happening here?
@Nakov Just a question regarding the "processing jobs for a given number of seconds". Do you know if the supervisor will terminate and restart if a job is currently processing, or will it wait for the job to complete before restarting?
After processing each job, the worker will check if it exceeded max-jobs or max-time and then decide between exiting or picking up more jobs. The worker will not exit while in the middle of processing a job.
had the same issue, turns our we were passing to the job a User object with a null id, thus it's not found in the database when querying. we logged if the construct method is accessed and it was, but never the handle method until the object was valid.
how was it detected: go to the pending job (they probably will be failed after restarting horizon) on telescope and check your database queries if they have the correct values in WHERE clause