在 AWS Elastic Beanstalk 上使用 Symfony 设置周期性任务(使用 cron.yaml)
Setup periodic taks (using cron.yaml) with Symfony on AWS ElasticBeanstalk
我在使用 Symfony 应用程序 ElasticBeanstalk Worker Tier 上的周期性任务 时遇到问题。
我在 App Server 和 Worker Tier 上部署了相同的源代码。
我已经设置了我的 cron.yaml 文件并且它已成功加载。
消息已发送,但出现 406 错误:
"POST /worker/reclamation/auto-reply HTTP/1.1" 406 481 "-" "aws-sqsd/2.4"
我的 cron.yaml 文件:
version: 1
cron:
- name: "reclamation-reply"
url: "/worker/reclamation/auto-reply"
schedule: "*/10 * * * *"
The URL is the path to which the POST request is sent to trigger the
job.
从那里,我决定用 POST 方法编写一个 FOSRest 路由,在该方法中我触发我需要 运行 的命令。
我不知道这样做是否正确,所以,我想我的问题可能来自这里。
/**
* @FOSRest\Route("/worker")
*/
class WorkerController extends AbstractController
{
/**
* @FOSRest\Post("/reclamation/auto-reply")
*/
public function ticketReply(KernelInterface $kernel)
{
$application = new Application($kernel);
$application->setAutoExit(false);
$input = new ArrayInput(array(
'command' => 'app:reclamation:reply',
));
$output = new NullOutput();
$application->run($input, $output);
return new Response("");
}
提前感谢您的帮助!
终于成功了!
似乎是因为我忘记配置我的 FOSRest 路由的 format_listener
而发生错误。
我在使用 Symfony 应用程序 ElasticBeanstalk Worker Tier 上的周期性任务 时遇到问题。
我在 App Server 和 Worker Tier 上部署了相同的源代码。 我已经设置了我的 cron.yaml 文件并且它已成功加载。 消息已发送,但出现 406 错误:
"POST /worker/reclamation/auto-reply HTTP/1.1" 406 481 "-" "aws-sqsd/2.4"
我的 cron.yaml 文件:
version: 1
cron:
- name: "reclamation-reply"
url: "/worker/reclamation/auto-reply"
schedule: "*/10 * * * *"
The URL is the path to which the POST request is sent to trigger the job.
从那里,我决定用 POST 方法编写一个 FOSRest 路由,在该方法中我触发我需要 运行 的命令。 我不知道这样做是否正确,所以,我想我的问题可能来自这里。
/**
* @FOSRest\Route("/worker")
*/
class WorkerController extends AbstractController
{
/**
* @FOSRest\Post("/reclamation/auto-reply")
*/
public function ticketReply(KernelInterface $kernel)
{
$application = new Application($kernel);
$application->setAutoExit(false);
$input = new ArrayInput(array(
'command' => 'app:reclamation:reply',
));
$output = new NullOutput();
$application->run($input, $output);
return new Response("");
}
提前感谢您的帮助!
终于成功了!
似乎是因为我忘记配置我的 FOSRest 路由的 format_listener
而发生错误。