В моем случае проблема была главным образом в том, что я передавал Hash в качестве параметра объекту, который был передан в очередь delayed_job.Но после 25 следов я пришел к выводу, что delayed_job принимает объекты только с целым числом в качестве параметра.Поэтому я сохранил все параметры в базе данных, а затем передал этот идентификатор записи в качестве параметра для delayed_job, и внутри функции выполнения мы можем получить доступ ко всем параметрам с этим идентификатором записи и удалить эту запись после извлечения этих данных.
Delayed::Job.enqueue LeadsJob.new(params[:customer]) # this job will be queued but will never run, this is because of the way Delayed_job serializes and De-serializes the objects.
вместо этого сделайте что-то вроде этого
@customer = Customer.create(params[:customer])
Delayed::Job.enqueue LeadsJob.new(@customer.id)
Если данные клиента состояли только в том, чтобы передать параметры, то удалите эту запись внутри функции.
Пожалуйста, пингуйте меня, если вам нужно больше информации ото же самое.
Возможно, проблема также в синтаксическом анализаторе YAML, который использует Delayed_Job, но я не пробовал эту опцию, упомянутую @Stefan Pettersson