We have a dev server where we're testing a new job and it ran up against a timeout encoded on the job. The job was marked as "FAIL" in the queue worker's output but we didn't get a new entry in the failed_jobs table. I'm curious if this is expected behavior or if I should investigate if something is wrong with our configuration. It seems like a MaxAttemptsExceededException should be thrown based on the wording of that message.
#Job that fails because of time out does not post said failure to the failed_jobs table
5 messages · Page 1 of 1 (latest)
Job that fails because of time out does not post said failure to the failed_jobs table
This is the relevant part of the job in question:
class LaborDataLoader implements ShouldQueue, ShouldBeUnique
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* The number of times the job may be attempted.
*
* @var int
*/
public $tries = 1;
/**
* This job should take no longer than 14 minutes (840 seconds) to run.
*
* @var int
*/
public $timeout = 840;
/**
* Indicate if the job should be marked as failed on timeout.
*
* @var bool
*/
public $failOnTimeout = true;
Based on the pcntl_signal portion in the Worker class it seems like it should go into Worker::markJobAsFailedIfItShouldFailOnTimeout and then call failJob with the MaxAttemptsExceededException? The only thing I can think of is if the job is already deleted? then it just returns instantly from the fail method?
bump