包含用于作业初始化的 perform_later
方法。
方法
实例公共方法
perform_later(...) 链接
将作业推送到队列中。默认情况下,参数必须是 String
、Integer
、Float
、NilClass
、TrueClass
、FalseClass
、BigDecimal
、Symbol
、Date
、Time
、DateTime
、ActiveSupport::TimeWithZone
、ActiveSupport::Duration
、Hash
、ActiveSupport::HashWithIndifferentAccess
、Array
、Range
或 GlobalID::Identification 实例,尽管可以通过添加自定义序列化器来扩展此功能。
返回一个作业类实例,该实例已排队,其参数在 Job#arguments 中可用,如果排队不成功,则返回 false。
在尝试排队后,作业将被传递给可选的块。
来源:显示 | 在 GitHub 上
# File activejob/lib/active_job/enqueuing.rb, line 58 def perform_later(...) job = job_or_instantiate(...) enqueue_result = job.enqueue yield job if block_given? enqueue_result end
实例私有方法
job_or_instantiate(*args) 链接
来源:显示 | 在 GitHub 上
# File activejob/lib/active_job/enqueuing.rb, line 68 def job_or_instantiate(*args) # :doc: args.first.is_a?(self) ? args.first : new(*args) end