Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/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
Ruby on rails 如何在Sidekiq上保持长期运行的连接_Ruby On Rails_Ruby_Passenger_Sidekiq - Fatal编程技术网

Ruby on rails 如何在Sidekiq上保持长期运行的连接

Ruby on rails 如何在Sidekiq上保持长期运行的连接,ruby-on-rails,ruby,passenger,sidekiq,Ruby On Rails,Ruby,Passenger,Sidekiq,我正在抓取一个包含1M数据的网页。我使用的是Nokogiri、Watir和Sidekiq。这是一个长时间运行的连接,大约5个小时。因此,我更喜欢使用Sidekiq排队。 然而,我不明白我在这里做错了什么 我的问题是: 在我启动作业30分钟后,系统本身启动一个新的作业。他们俩似乎都在跑步。那是一份新的工作吗?是从头开始的新工作还是第一份工作的一部分?因为我没有开始一份新工作。 当我检查sidekiqlog文件时,我看到: 在错误发生后,我有以下信息: Redis is online, 3.0729

我正在抓取一个包含1M数据的网页。我使用的是
Nokogiri
Watir
Sidekiq
。这是一个长时间运行的连接,大约5个小时。因此,我更喜欢使用
Sidekiq
排队。 然而,我不明白我在这里做错了什么

我的问题是:

  • 在我启动
    作业
    30分钟后,系统本身启动一个新的
    作业
    。他们俩似乎都在跑步。那是一份新的
    工作吗?
    是从头开始的新工作还是第一份
    工作的一部分?
    因为我没有开始一份
    新工作。
  • 当我检查
    sidekiq
    log
    文件时,我看到:
  • 在错误发生后,我有以下信息:

    Redis is online, 3.072998513991479 sec downtime
    TID-nz91k INFO: Redis is online, 3.07191184500698 sec downtime
    TID-nz9ss INFO: Redis is online, 3.071773702016799 sec downtime
    
    它是崩溃还是继续同样的过程

    我还更改了以下内容:

    我将瓦蒂尔的
    默认超时设置为300000000

    我将
    乘客\u最大\u池大小设置为0

    我在我的
    VPS
    中添加了
    4GB交换
    内存


    有更好的方法吗?想法?

    检查您的redis是以6379端口的形式启动的。您说它正在运行作业,然后开始运行另一个作业——您是否检查了它们是否是相同的作业?查看日志,您将看到类似于JID-3c3b6fdcfcd1083595a4756b INFO:start的内容
    JID xxx
    是存储在Redis中的作业的作业id,因此,如果在30分钟后第二个作业开始时看到同一行,那么您肯定知道它是同一个作业运行了两次。JID是不同的。但我没有任何行动开始另一份工作。我发现我的
    chromedriver
    在一段时间后崩溃了。但我仍然不明白这是否与连接问题或重新启动有关?检查您的Redis是否已启动,因为6379端口正在启动。您说它正在运行作业,然后开始运行另一个作业--您是否检查了它们是否是同一个作业?查看日志,您将看到类似于JID-3c3b6fdcfcd1083595a4756b INFO:start的内容
    JID xxx
    是存储在Redis中的作业的作业id,因此,如果在30分钟后第二个作业开始时看到同一行,那么您肯定知道它是同一个作业运行了两次。JID是不同的。但我没有任何行动开始另一份工作。我发现我的
    chromedriver
    在一段时间后崩溃了。但我仍然不明白这是否与连接问题或重启有关?
    Redis is online, 3.072998513991479 sec downtime
    TID-nz91k INFO: Redis is online, 3.07191184500698 sec downtime
    TID-nz9ss INFO: Redis is online, 3.071773702016799 sec downtime