精华内容
下载资源
问答
  • laravel重启单个队列As you are aware that stack follows LIFO principle i.e first in first out and queue follows FIFO principle i.e last in first out, below is the simple java code which better ...

    laravel重启单个队列

    As you are aware that stack follows LIFO principle i.e first in first out and queue follows FIFO principle i.e last in first out, below is the simple java code which better illustrates the difference between the two.

    如您所知,堆栈遵循LIFO原则,即先进先出,队列遵循FIFO原则,即后进先出,下面是简单的Java代码,可以更好地说明两者之间的区别。

    import java.util.LinkedList;
    import java.util.Queue;
    import java.util.Scanner;
    import java.util.Stack;
    
    public class stackqueue {
    	public static void main(String[] args) {
    		int k=1;
    		Stack<Integer> stack=new Stack<Integer>();
    		Queue<Integer> queue=  new LinkedList<Integer>();
    		Scanner sc =new Scanner(System.in);
    		do
    		{
    			int j=0,i,ent;
    			System.out.println("Enter 1 for stack selection and 2 for queue selection");
    			j=sc.nextInt();
    			if(j==1)
    			{
    				System.out.println("Enter 1 for push and 2 for pop");
    				i=sc.nextInt();
    				if(i==1)
    				{
    					System.out.println("Enter the element");
    					ent =sc.nextInt();
    					stack.push(ent);
    					System.out.println(stack);
    				}
    				else
    				{ 
    					stack.pop();
    					System.out.println(stack);
    				}
    			}
    			else
    			{
    				System.out.println("Enter 1 for push and 2 for pop");
    				i=sc.nextInt();
    				if(i==1)
    				{
    					System.out.println("Enter the element");
    					ent =sc.nextInt();
    					queue.add(ent);
    					System.out.println(queue);
    				}
    				else
    				{
    					queue.remove();
    					System.out.println(queue);
    				}
    			}
    			System.out.println("press 1 to continue and 0 to exit");
    			k=sc.nextInt();
    		}while(k==1);
    	}
    }
    
    

    Output

    输出量

    java program output 112

    翻译自: https://www.includehelp.com/java-programs/using-queue-and-stack-in-a-single-java-program-using-loops.aspx

    laravel重启单个队列

    展开全文
  • laravel 消息队列浅析

    2018-11-29 03:52:00
    laravel支持消息队列,发短信,发送消息通知 用起来很方便,延时队列还可以用来方式晚上发短信骚扰用户。但是使用的时候遇到了不少问题,比如laravel队列的重试功能,真的是让人很慌,打款或者消息推送,哪个重复了...

      laravel支持消息队列,发短信,发送消息通知 用起来很方便,延时队列还可以用来方式晚上发短信骚扰用户。但是使用的时候遇到了不少问题,比如laravel队列的重试功能,真的是让人很慌,打款或者消息推送,哪个重复了都会造成很大的影响。接下来就列举几个我遇到过的问题,总结一下,防止再次踩坑。

         第一点: 使用worker监听,出队的代码如果又修改,那么上线必须重启监听

         第二点:防止异常重试,异常重试次数可以通过--tries参数来设置,如果一个业务场景是,少发几条没关系,但是一定不能多发,那么可以不重试,attemps参数可以看到重试了几次,delete()方法,可以手动防止重试,将消息删除。

        第三点:防止超时重试, 这个和异常重试不太一样,默认超时时间为60秒,可以通过timeout参数来设置。 如果时间超过60秒,那么这个任务还会被执行。

     

      从原理分析,一个队列开启监听,这个时候会去检查,delayed队列(这个里面装的都是之前执行异常之后放进去的消息,这些消息的延时时间可以通过sleep参数设置,默认3秒),因为delayed队列用的有序集合,可以很方便获取过期的消息,全部放进默认队列(数据结构为列表)中,并将delayed中的删除, 这个时候去检查reserved队列,这个队列也是有序集合,查看过期的(过期时间60秒,可以通过timeout来设置), 将这部分过期的数据重新放进defeat队列,并将reserved中的删除。

      这个时候准备工作就做好了,准备开始执行, 在执行之前,先将defeat队列中的消息放一份到reserved中(设置有效时间为timeout参数),这个时候从defeat队列弹出数据开始执行,如果执行成功,那么删除reserved队列中的数据。如果执行报错 那么也把消息从reserved队列中删除,并将这条消息放进delayed队列中。

    如果一直执行不完(超过60秒),那么reserved中的数据就一直在,直到过期。 当下一次别的请求进来的时候,又回重复上述动作,这个时候reserved中的消息就会被再放进defeat,就会再次执行。

    转载于:https://www.cnblogs.com/tobemaster/p/10036102.html

    展开全文
  • laravel 队列重启

    2019-09-21 09:14:30
    队列重启,就好了 php artisan queue:restart   https://laravel-china.org/topics/3351/laravel-queue-send-mail-problems 转载于:https://www.cnblogs.com/lxwphp/p/9488243.html

    我在job中写了邮件发送 ,线下环境测试是无问题的 ,现在放到线上出现了问题。
    问题描述:
    部分时候邮件功能可用,部分时间邮件功能不可用。
    邮件功能不可用的时候,job发送失败,失败原因是无发送人,打印log发现获取不到config/mail.php的正确配置,所获取的配置都是系统的默认配置。

    请问有人是否遇到了类似问题,或者我的哪里配置有错误的,还是谁能帮忙解释下job的加载机制,谢谢。

    本文章首发在 Laravel China 社区

     

    队列重启,就好了

    php artisan queue:restart

     

    https://laravel-china.org/topics/3351/laravel-queue-send-mail-problems

    转载于:https://www.cnblogs.com/lxwphp/p/9488243.html

    展开全文
  • 背景:队列文件中有一个地方需要修改,修改后一直不生效 解决:由于使用supervisor ...需要做的就是重启supervisor,重启后 kill -9 php进程,强制重启php的队列 才会生效 一句话,需要重启php队列进程才能生效 ...

    背景:队列文件中有一个地方需要修改,修改后一直不生效
    解决:由于使用supervisor 管理进程,需要先登录docker(代码部署在docker中),supervisorctl 查看所有进程

    需要做的就是重启supervisor,重启后 kill -9 php进程,强制重启php的队列 才会生效

    supervisorctl之后会进入supervisor的客户端

    stop *** 队列名称

    一句话,需要重启php队列进程才能生效

    展开全文
  • laravel 队列延迟

    2019-12-25 23:14:20
    接到需求需要写一个延时队列。调查了一下laravel的延时队列,非常简单。 第一种在Job类里直接添加 public 参数。...在这个页面修改任何数据都必须重启队列。 另一种是在new job的时候直接修改 $job = ...
  • Laravel 队列经常卡死

    千次阅读 2020-01-03 18:06:12
    使用队列的原因:因为项目需要每天定时拉取多个 api 的数据,数据量大(每次上万个任务),所以选择使用队列拉取。 工具:laravel 队列,supervisor 进程监控 ...重启队列并观察,也正常!运行一...
  • laravel队列使用

    2019-10-08 18:30:36
    laravel队列,可以很方便的处理异步任务。 5.2版的队列缺陷较多,比如queue:listen的且每次尝试执行子任务都重启框架,内存占用太大,且--timeout参数是针对命令行的运行时间而不是子任务的运行时间。想使用占用内存...
  • Laravel 队列

    2018-07-19 16:56:27
    delay 无效 .env 文件中 QUEUE_DRIVER 不可以是sync   重启队列 php artisan queue:restart    
  • 使用 Supervisor 管理 Laravel 队列进程

    千次阅读 2018-07-30 18:34:57
    使用 Supervisor 管理 Laravel 队列进程 Supervisor 是一个 Python 写的进程管理工具,有时一个进程需要在后台运行,并且意外挂掉后能够自动重启,就需要这么一个管理进程的工具。在 Laravel 开发中,也经常使用到...
  • 方法:1 根据官方文档使用–daemon可让队列常驻运行。... 但是当前命令还是会因为使用Ctrl+C。将进程给关闭。...这样即使重启,都可以稳定的运行队列。 安装教程:https://www.load-page.com/bas… 方法
  • 我要说的原因很简单,修改消息队列相关的代码后一定要重启supervisor,用下面的命令重启 sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start laravel-worker:* ...
  • 它可以很方便的监听、停止、重启一个或多个进程。用supervisor管理的进程,打你个进程意外被杀死,supervisor监听到进程死后,会自动将它重新拉起,很方便的做到自动恢复的功能,不再需要自己写shell脚...
  • Supervisor 是 Linux 操作系统下中的一个进程监控器,它可以在 queue:work 挂掉时自动重启。在 Ubuntu 上安装 Supervisor,你可以使用如下命令: sudo yum install supervisor 启动supervisor supervisord -c /...
  • work/usr/local/bin/php /code-path/artisan queue:work redis --queue=default,abc --sleep=3 --tries=3--sleep 指定休眠时间--tries 指定重试次数--queue 指定队列名称更新代码需要重启/usr/local/bin/php /cod...
  • Laravel 新建立queue队列需要执行命令

    千次阅读 2018-07-06 14:56:55
    所以最简单的方式就是重新部署过程中要重启队列处理器。你可以很优雅地只输入 queue:restart 来重启所有队列处理器。php artisan queue:restart这个命令将会告诉所有队列处理器在执行完当前任务后结束进程,这样才...
  • 所以最简单的方式就是重新部署过程中要重启队列处理器。你可以很优雅地 只输入 queue:restart 来重启所有队列处理器。 php artisan queue:restart 这个命令将会告诉所有队列处理器在执行完当前任务后结束进程...
  • 今天做消息队列,引擎使用redis,具体使用方法就不说了,网上一大堆 现在遇到的问题是,修改了job内的代码,sync生效,redis异步不生效 php artisan cache:clear php artisan config:clear 清除缓存的命令也...
  • Laravel 错误处理

    2019-01-24 15:34:00
    Laravel 错误处理 错误提示:cURL error 60: SSL certificate problem: unable to get ...解决方案:修改文件,重启队列即可 D:\wamp\www\myblog\vendor\guzzlehttp\guzzle\src\Client.php 大概...
  • laravel jobs 进程

    2019-09-29 18:50:29
    php artisan make:job TestJob... Jobs ...队列处理器是一个常驻的进程并且在内存中保存着已经启动的应用状态。...所以,在你的重新部署过程中,请记得 重启你的队列处理器. 重启进程 命令 说明 supervisorctl...
  • 如果队列进程queue:work意外关闭,它会自动重启启动队列进程。在Ubuntu安装Supervisor非常简单: sudoapt-getinstallsupervisor 注:如果自己配置Supervisor有困难,可以考虑使用Laravel Forge,它会为Laravel...
  • 1. 在修改 queue 相关代码后,必须要使用 php artisan queue:restart 来重启队列服务,否则所做的修改可能不会生效(没法重现了,按理说应该和使用 queue:listen 或 queue:work 有关,不过最好还是重启;可能和 ...
  • laravel job(初体验)

    千次阅读 2019-08-16 15:32:57
    laravel job(初体验) 命令行 1.启动 php artisan queue:work 2.更改代码重启 php artisan queue:restart 3.守护进程模式(类似workman的-d) php artisan queue:work --daemon 4.队列监听 ...
  • laravel编写后台回写脚本 不同与队列和任务调度(定时任务),这里我要实现近似实时的后台回写进程。 要求做到平滑重启,使其在完成某一次任务后自动退出进程,而不是暴力kill进程。 先配置好redis 创建一个command ...
  • laravel queue 修改之后不生效的坑

    千次阅读 2018-06-14 12:37:00
    其实官方文档有说,只是没看仔细。 正常情况下,修改 php 代码是不用重启什么东西的, ...也就是说,如果发现 job 有 bug,改了之后可能不会生效,除非有重启队列。 如果使用 supervisor,可以使用 sup...
  • laravel queue 与 supervisor的搭配使用

    千次阅读 2018-02-09 11:44:10
    参考链接 http://supervisord.org/running.htmlsupervisor 是linux进程监控软件, 可以在laravel queue work| queue listen 失败的时候 自动重启进程。所以指定下面的流程 简直是完美: 用户注册 --&gt; 触发...

空空如也

空空如也

1 2 3
收藏数 48
精华内容 19
关键字:

laravel重启队列