Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel是否有可能在没有“";“工作”;有效载荷中的属性?_Php_Laravel - Fatal编程技术网

Php Laravel是否有可能在没有“";“工作”;有效载荷中的属性?

Php Laravel是否有可能在没有“";“工作”;有效载荷中的属性?,php,laravel,Php,Laravel,我正在尝试使用Laravel使用RabbitMQ队列驱动程序从外部服务消费作业 每个作业负载基本上都是一个序列化对象 然而,在我看来,Laravel要求作业具有一个名为“job”的属性,该属性映射到完全限定类名(FQCN)。但我不能这样做,因为这些工作是在一个甚至不知道我的Laravel应用程序的服务上创建的 我是否可以在没有此属性的情况下使用和执行作业 例如: Laravel是否可以执行包含此有效负载的作业: { "fooBar": "abc-123", "baz": fals

我正在尝试使用Laravel使用RabbitMQ队列驱动程序从外部服务消费作业

每个作业负载基本上都是一个序列化对象

然而,在我看来,Laravel要求作业具有一个名为“job”的属性,该属性映射到完全限定类名(FQCN)。但我不能这样做,因为这些工作是在一个甚至不知道我的Laravel应用程序的服务上创建的

我是否可以在没有此属性的情况下使用和执行作业

例如:

Laravel是否可以执行包含此有效负载的作业:

{
    "fooBar": "abc-123",
    "baz": false,
    "bazBar": 1
}
与此相反:

{
    "job": "Acme\\\\Jobs\\\\FooJob",
    "data": {
        "fooBar": "abc-123",
        "baz": false,
        "bazBar": 1
    }
}

不,不重写Laravel的作业调度程序中的某些方法。Laravel的队列系统仅设计为与Laravel一起使用,因此队列中的有效负载结构是它所期望的格式。如果您想使用另一个框架使用排队作业,您有许多选项

1) 忽略作业负载中的FQCN。然而,你会把自己绑在Laravel的工作负载结构上,如果这种情况发生变化,它可能会破坏你的应用程序

2) 重写Laravel的作业调度器,以更改传递到队列的数据结构。这似乎比它的价值更麻烦


3) 编写自己的作业调度器,并使用自己的类与队列系统交互。这使您可以完全控制如何使用队列。

谢谢。你知道有没有像你在#3中所说的那样实现更通用的作业调度器的库?