VMWare Ignores prefix in boot.cfg - vmware

I am trying to PXE boot VMWare ESXi and it gets to boot.cfg, tries to download all the modules, but runs into problem when it doesn't follow the prefix directive.
I have configured boot.cfg as follows:
bootstate=0
title=Loading ESXi installer
timeout=5
kernel=/tboot.b00
prefix=/VMware-ESXi-6.5U2-RollupISO
kernelopt=runweasel
modules=/b.b00 --- /jumpstrt.gz --- /useropts.gz --- /features.gz --- /k.b00 --- /chardevs.b00 --- /a.b00 --- /user.b00 --- /uc_intel.b00 --- /uc_amd.b00 --- /sb.v00 --- /s.v00 --- /scsi_cel.v00 --- /scsi_esa.v00 --- /scsi_esa.v01 --- /scsi_cel.v01 --- /scsi_esa.v02 --- /scsi_aac.v00 --- /scsi_adp.v00 --- /dell_sha.v00 --- /lsi_mr3.v00 --- /lsi_msgp.v00 --- /scsi_meg.v00 --- /scsi_mpt.v00 --- /bnxtnet.v00 --- /bnxtroce.v00 --- /net_enic.v00 --- /scsi_fni.v00 --- /scsi_sni.v00 --- /cxl.v00 --- /ima_csio.v00 --- /net_cxgb.v00 --- /scsi_csi.v00 --- /ima_be2i.v00 --- /scsi_be2.v00 --- /sas_vgc.v00 --- /scsi_hps.v00 --- /hfcndd.v00 --- /scsi_hfc.v00 --- /block_hi.v00 --- /hiodrive.v00 --- /net_ibma.v00 --- /scsi_roc.v00 --- /i40en.v00 --- /iavmd.v00 --- /igbn.v00 --- /intel_nv.v00 --- /ixgben.v00 --- /net_i40e.v00 --- /net_igb.v00 --- /net_ixgb.v00 --- /mx_nvme.v00 --- /nmlx5_co.v00 --- /nmlx5_rd.v00 --- /net_mlx_.v00 --- /net_mlx4.v00 --- /net_mlx4.v01 --- /nhpsa.v00 --- /scsi_ocz.v00 --- /nqlcnic.v00 --- /qcnic.v00 --- /qedentv.v00 --- /qedrntv.v00 --- /qfle3.v00 --- /qfle3f.v00 --- /qfle3i.v00 --- /ima_qla4.v00 --- /misc_cni.v00 --- /net_bna.v00 --- /net_bnx2.v00 --- /net_bnx2.v01 --- /net_cnic.v00 --- /net_nx_n.v00 --- /net_qlcn.v00 --- /net_qlge.v00 --- /qlnative.v00 --- /scsi_bfa.v00 --- /scsi_bnx.v00 --- /scsi_bnx.v01 --- /scsi_qla.v00 --- /smgnvme.v00 --- /iomemory.v00 --- /native_s.v00 --- /net_sgb.v00 --- /net_sxgb.v00 --- /scsi_ste.v00 --- /ata_liba.v00 --- /ata_pata.v00 --- /ata_pata.v01 --- /ata_pata.v02 --- /ata_pata.v03 --- /ata_pata.v04 --- /ata_pata.v05 --- /ata_pata.v06 --- /ata_pata.v07 --- /block_cc.v00 --- /brcmfcoe.v00 --- /char_ran.v00 --- /ehci_ehc.v00 --- /elxnet.v00 --- /hid_hid.v00 --- /ipmi_ipm.v00 --- /ipmi_ipm.v01 --- /ipmi_ipm.v02 --- /lpfc.v00 --- /lsi_msgp.v01 --- /lsi_msgp.v02 --- /misc_dri.v00 --- /mtip32xx.v00 --- /ne1000.v00 --- /nenic.v00 --- /net_cdc_.v00 --- /net_e100.v00 --- /net_e100.v01 --- /net_fcoe.v00 --- /net_forc.v00 --- /net_libf.v00 --- /net_tg3.v00 --- /net_usbn.v00 --- /net_vmxn.v00 --- /nmlx4_co.v00 --- /nmlx4_en.v00 --- /nmlx4_rd.v00 --- /ntg3.v00 --- /nvme.v00 --- /nvmxnet3.v00 --- /ohci_usb.v00 --- /pvscsi.v00 --- /qflge.v00 --- /sata_ahc.v00 --- /sata_ata.v00 --- /sata_sat.v00 --- /sata_sat.v01 --- /sata_sat.v02 --- /sata_sat.v03 --- /sata_sat.v04 --- /scsi_adp.v01 --- /scsi_aic.v00 --- /scsi_ips.v00 --- /scsi_isc.v00 --- /scsi_lib.v00 --- /scsi_meg.v01 --- /scsi_meg.v02 --- /scsi_mpt.v01 --- /scsi_mpt.v02 --- /scsi_mpt.v03 --- /shim_isc.v00 --- /shim_isc.v01 --- /shim_lib.v00 --- /shim_lib.v01 --- /shim_lib.v02 --- /shim_lib.v03 --- /shim_lib.v04 --- /shim_lib.v05 --- /shim_vmk.v00 --- /shim_vmk.v01 --- /shim_vmk.v02 --- /smartpqi.v00 --- /uhci_usb.v00 --- /usb_stor.v00 --- /usbcore_.v00 --- /vmkata.v00 --- /vmkplexe.v00 --- /vmkusb.v00 --- /vmw_ahci.v00 --- /xhci_xhc.v00 --- /emulex_e.v00 --- /btldr.t00 --- /weaselin.t00 --- /esx_dvfi.v00 --- /esx_ui.v00 --- /lsu_hp_h.v00 --- /lsu_lsi_.v00 --- /lsu_lsi_.v01 --- /lsu_lsi_.v02 --- /lsu_lsi_.v03 --- /native_m.v00 --- /rste.v00 --- /vmware_e.v00 --- /vsan.v00 --- /vsanheal.v00 --- /vsanmgmt.v00 --- /tools.t00 --- /scsi_arc.v00 --- /xorg.v00 --- /imgdb.tgz --- /imgpayld.tgz
build=
updated=0
It fails, and per Wireshark, the prefix path is not being included in the tftp path.
If I add the prefix path into the kernel= line, it successfully finds and downloads tboot.b00
bootstate=0
title=Loading ESXi installer
timeout=5
kernel=/VMware-ESXi-6.5U2-RollupISO/tboot.b00
prefix=/VMware-ESXi-6.5U2-RollupISO
kernelopt=runweasel
modules=/b.b00 --- /jumpstrt.gz --- /useropts.gz --- /features.gz --- /k.b00 --- /chardevs.b00 --- /a.b00 --- /user.b00 --- /uc_intel.b00 --- /uc_amd.b00 --- /sb.v00 --- /s.v00 --- /scsi_cel.v00 --- /scsi_esa.v00 --- /scsi_esa.v01 --- /scsi_cel.v01 --- /scsi_esa.v02 --- /scsi_aac.v00 --- /scsi_adp.v00 --- /dell_sha.v00 --- /lsi_mr3.v00 --- /lsi_msgp.v00 --- /scsi_meg.v00 --- /scsi_mpt.v00 --- /bnxtnet.v00 --- /bnxtroce.v00 --- /net_enic.v00 --- /scsi_fni.v00 --- /scsi_sni.v00 --- /cxl.v00 --- /ima_csio.v00 --- /net_cxgb.v00 --- /scsi_csi.v00 --- /ima_be2i.v00 --- /scsi_be2.v00 --- /sas_vgc.v00 --- /scsi_hps.v00 --- /hfcndd.v00 --- /scsi_hfc.v00 --- /block_hi.v00 --- /hiodrive.v00 --- /net_ibma.v00 --- /scsi_roc.v00 --- /i40en.v00 --- /iavmd.v00 --- /igbn.v00 --- /intel_nv.v00 --- /ixgben.v00 --- /net_i40e.v00 --- /net_igb.v00 --- /net_ixgb.v00 --- /mx_nvme.v00 --- /nmlx5_co.v00 --- /nmlx5_rd.v00 --- /net_mlx_.v00 --- /net_mlx4.v00 --- /net_mlx4.v01 --- /nhpsa.v00 --- /scsi_ocz.v00 --- /nqlcnic.v00 --- /qcnic.v00 --- /qedentv.v00 --- /qedrntv.v00 --- /qfle3.v00 --- /qfle3f.v00 --- /qfle3i.v00 --- /ima_qla4.v00 --- /misc_cni.v00 --- /net_bna.v00 --- /net_bnx2.v00 --- /net_bnx2.v01 --- /net_cnic.v00 --- /net_nx_n.v00 --- /net_qlcn.v00 --- /net_qlge.v00 --- /qlnative.v00 --- /scsi_bfa.v00 --- /scsi_bnx.v00 --- /scsi_bnx.v01 --- /scsi_qla.v00 --- /smgnvme.v00 --- /iomemory.v00 --- /native_s.v00 --- /net_sgb.v00 --- /net_sxgb.v00 --- /scsi_ste.v00 --- /ata_liba.v00 --- /ata_pata.v00 --- /ata_pata.v01 --- /ata_pata.v02 --- /ata_pata.v03 --- /ata_pata.v04 --- /ata_pata.v05 --- /ata_pata.v06 --- /ata_pata.v07 --- /block_cc.v00 --- /brcmfcoe.v00 --- /char_ran.v00 --- /ehci_ehc.v00 --- /elxnet.v00 --- /hid_hid.v00 --- /ipmi_ipm.v00 --- /ipmi_ipm.v01 --- /ipmi_ipm.v02 --- /lpfc.v00 --- /lsi_msgp.v01 --- /lsi_msgp.v02 --- /misc_dri.v00 --- /mtip32xx.v00 --- /ne1000.v00 --- /nenic.v00 --- /net_cdc_.v00 --- /net_e100.v00 --- /net_e100.v01 --- /net_fcoe.v00 --- /net_forc.v00 --- /net_libf.v00 --- /net_tg3.v00 --- /net_usbn.v00 --- /net_vmxn.v00 --- /nmlx4_co.v00 --- /nmlx4_en.v00 --- /nmlx4_rd.v00 --- /ntg3.v00 --- /nvme.v00 --- /nvmxnet3.v00 --- /ohci_usb.v00 --- /pvscsi.v00 --- /qflge.v00 --- /sata_ahc.v00 --- /sata_ata.v00 --- /sata_sat.v00 --- /sata_sat.v01 --- /sata_sat.v02 --- /sata_sat.v03 --- /sata_sat.v04 --- /scsi_adp.v01 --- /scsi_aic.v00 --- /scsi_ips.v00 --- /scsi_isc.v00 --- /scsi_lib.v00 --- /scsi_meg.v01 --- /scsi_meg.v02 --- /scsi_mpt.v01 --- /scsi_mpt.v02 --- /scsi_mpt.v03 --- /shim_isc.v00 --- /shim_isc.v01 --- /shim_lib.v00 --- /shim_lib.v01 --- /shim_lib.v02 --- /shim_lib.v03 --- /shim_lib.v04 --- /shim_lib.v05 --- /shim_vmk.v00 --- /shim_vmk.v01 --- /shim_vmk.v02 --- /smartpqi.v00 --- /uhci_usb.v00 --- /usb_stor.v00 --- /usbcore_.v00 --- /vmkata.v00 --- /vmkplexe.v00 --- /vmkusb.v00 --- /vmw_ahci.v00 --- /xhci_xhc.v00 --- /emulex_e.v00 --- /btldr.t00 --- /weaselin.t00 --- /esx_dvfi.v00 --- /esx_ui.v00 --- /lsu_hp_h.v00 --- /lsu_lsi_.v00 --- /lsu_lsi_.v01 --- /lsu_lsi_.v02 --- /lsu_lsi_.v03 --- /native_m.v00 --- /rste.v00 --- /vmware_e.v00 --- /vsan.v00 --- /vsanheal.v00 --- /vsanmgmt.v00 --- /tools.t00 --- /scsi_arc.v00 --- /xorg.v00 --- /imgdb.tgz --- /imgpayld.tgz
build=
updated=0
And then it fails on the very next file, b.b00. It's as if the prefix is being ignored.
What am I missing?

I am not sure why the prefix gets ignored in the modules. I went and removed the / at the beginning of each module in my pxe environment.
It should be:
modules=b.b00 --- jumpstrt.gz --- useropts.gz
...and so on.
I don't even use the prefix option. I remove all / in my boot.cfg file.

Related

Akka Remote Performance issue

I am facing a performance issue in Akka remoting. I have 2 actors Actor1 and Actor2. The message sending between the actor is synchronous ask request from Actor1 to Actor2 and the response back from Actor2 to Actor1. Below is the sample code snippets and config of my Actor:
Actor1.java:
object Actor1 extends App {
val conf = ConfigFactory.load()
val system = ActorSystem("testSystem1", conf.getConfig("remote1"))
val actor = system.actorOf(Props[Actor1].withDispatcher("my-dispatcher"), "actor1")
implicit val timeOut: Timeout = Timeout(10 seconds)
class Actor1 extends Actor {
var value = 0
var actorRef: ActorRef = null
override def preStart(): Unit = {
println(self.path)
}
override def receive: Receive = {
case "register" =>
actorRef = sender()
println("Registering the actor")
val time = System.currentTimeMillis()
(1 to 300000).foreach(value => {
if (value % 10000 == 0) {
println("message count -- " + value + " --- time taken - " + (System.currentTimeMillis() - time))
}
Await.result(actorRef ? value, 10 seconds)
})
val totalTime = System.currentTimeMillis() - time
println("Total Time - " + totalTime)
}
}
}
Actor2.java:
object Actor2 extends App {
val conf = ConfigFactory.load()
val system = ActorSystem("testSystem1", conf.getConfig("remote2"))
val actor = system.actorOf(Props[Actor2].withDispatcher("my-dispatcher"), "actor2")
implicit val timeOut: Timeout = Timeout(10 seconds)
actor ! "send"
class Actor2 extends Actor {
var value = 0
var actorSelection: ActorSelection = context.actorSelection("akka://testSystem1#127.0.0.1:6061/user/actor1")
override def receive: Receive = {
case "send" =>
actorSelection ! "register"
case int: Int => {
sender() ! 1
}
}
}
}
application.conf:
remote1 {
my-dispatcher {
executor = "thread-pool-executor"
type = PinnedDispatcher
}
akka {
actor {
provider = remote
}
remote {
artery {
transport = tcp # See Selecting a transport below
canonical.hostname = "127.0.0.1"
canonical.port = 6061
}
}
}
}
remote2 {
my-dispatcher {
executor = "thread-pool-executor"
type = PinnedDispatcher
}
akka {
actor {
provider = remote
}
remote {
artery {
transport = tcp # See Selecting a transport below
canonical.hostname = "127.0.0.1"
canonical.port = 6062
}
}
}
}
Output:
message count -- 10000 --- time taken - 5871
message count -- 20000 --- time taken - 9043
message count -- 30000 --- time taken - 12198
message count -- 40000 --- time taken - 15363
message count -- 50000 --- time taken - 18649
message count -- 60000 --- time taken - 22074
message count -- 70000 --- time taken - 25487
message count -- 80000 --- time taken - 28820
message count -- 90000 --- time taken - 32118
message count -- 100000 --- time taken - 35634
message count -- 110000 --- time taken - 39146
message count -- 120000 --- time taken - 42539
message count -- 130000 --- time taken - 45997
message count -- 140000 --- time taken - 50013
message count -- 150000 --- time taken - 53466
message count -- 160000 --- time taken - 57117
message count -- 170000 --- time taken - 61246
message count -- 180000 --- time taken - 65051
message count -- 190000 --- time taken - 68809
message count -- 200000 --- time taken - 72908
message count -- 210000 --- time taken - 77091
message count -- 220000 --- time taken - 80855
message count -- 230000 --- time taken - 84679
message count -- 240000 --- time taken - 89089
message count -- 250000 --- time taken - 93132
message count -- 260000 --- time taken - 97360
message count -- 270000 --- time taken - 101442
message count -- 280000 --- time taken - 105656
message count -- 290000 --- time taken - 109665
message count -- 300000 --- time taken - 113706
Total Time - 113707
Is there any wrong I am doing here?. Any observation or suggestion to improve the performance?
The main issue I see with the code is Await.result(). That is a blocking operation, and will most likely affect performance.
I suggest collecting the results in a fixed array / list, use an integer as an array, and consider it complete when the expected number of responses have been received.

Looping headers/sections in rmarkdown?

I am trying to generate a loop with sections/headers that are followed by a figure in rmarkdown. I understand that I can use cat("## xyz") to generate a new header in my chunk but I observe some odd behaviour.
---
title: "Untitled"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = F)
```
Version 1: (does not work)
```{r, results='asis'}
for (i in 1:5) {
cat("\n")
cat("## This is a heading for ", i, "\n")
plot(pressure)
cat("\n")
}
```
Version 2: (does not work)
```{r, results='asis'}
for (i in 1:5) {
cat("\n")
cat("## This is a heading for ", i, "\n")
plot(pressure)
cat("\n")
plot(pressure)
cat("\n")
}
```
Version 3 (works):
```{r, results='asis'}
for (i in 1:5) {
cat("\n")
cat("## This is a heading for ", i, "\n")
plot(cars)
cat("\n")
plot(pressure)
cat("\n")
}
```
I expect the output to be
Header 1
Figure 1
Header 2
Figure 2
Header 3
Figure 3
etc.

Rcpp: error when passing a boolean value in a list from R to a C++ function that takes an Rcpp::List

This issue has shown up in an R package I maintain when run on certain systems. I've reproduced the error below. Am I doing something wrong in this code? I'd appreciate any help since I'm having trouble identifying the source of the error.
library(Rcpp)
sourceCpp(code='
#include <Rcpp.h>
#include <cstdio>
struct MyStruct {
public:
bool boolVar;
explicit MyStruct(bool t_boolVar=false) : boolVar(t_boolVar) {}
void print() const {
printf("C++ Value: %s\\n", boolVar ? "TRUE" : "FALSE");
}
};
// [[Rcpp::export]]
int myFunc(const Rcpp::List &myList) {
MyStruct myStruct(static_cast<bool>(myList["boolVar"]));
myStruct.print();
return 0;
}
')
testFunc <- function(boolVar=FALSE) {
print(paste("R value:", boolVar))
myList <- list("boolVar"=boolVar)
myFunc(myList)
}
testFunc()
testFunc(TRUE)
testFunc(FALSE)
sessionInfo()
system('uname -a')
This gives me the following output when run on the problematic machine. The issue is that the value passed in to MyStruct doesn't match the value set in R.
> testFunc()
[1] "R value: FALSE"
C++ Value: TRUE
[1] 0
> testFunc(TRUE)
[1] "R value: TRUE"
C++ Value: TRUE
[1] 0
> testFunc(FALSE)
[1] "R value: FALSE"
C++ Value: TRUE
[1] 0
>
> sessionInfo()
R version 3.5.3 (2019-03-11)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS release 6.10 (Final)
Matrix products: default
BLAS/LAPACK: /export/intel/compilers_and_libraries_2017.6.256/linux/mkl/lib/intel64_lin/libmkl_intel_lp64.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] Rcpp_1.0.1
loaded via a namespace (and not attached):
[1] compiler_3.5.3 tools_3.5.3
> system('uname -a')
Linux login02.cluster 2.6.32-696.18.7.el6.x86_64 #1 SMP Thu Jan 4 17:31:22 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Works here on Ubuntu 18.10:
R> source("~/git/stackoverflow/55941085/question.R")
[1] "R value: FALSE"
C++ Value: FALSE
[1] "R value: TRUE"
C++ Value: TRUE
[1] "R value: FALSE"
C++ Value: FALSE
Linux rob 4.18.0-16-generic #17-Ubuntu SMP Fri Feb 8 00:06:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
R>
But I suggest to change the code on one important line to
MyStruct myStruct(Rcpp::as<bool>(myList["boolVar"]));
See if that helps you.

How to do inclusion of schema in other schema using Z language

I am writing a formal specification for my model using z-notation of Z-language. I am stuck and don't know how to include one schema in another schema and creates its variables in other schemas. Any guidance and help would be appreciated.
Thanks.
You can use a schema like a record data type. E.g. let's assume you have a schema describing a complex integer number:
--- Complex ---
| real, img: ℤ
------
You can declare a variable in another schema to be of that type:
--- Ex1 ---
| c: Complex
----
| c.real = 5 ∧ c.img = 6
-------
You can of course create more complex data types with it, here a sequence and an operation to append an element:
--- State ---
| data: seq Complex
-------
--- Add1 ---
| ΔState
| real?, img?: ℤ
----
| ∃ c:Complex · c.real = real? ∧ c.img = img? ∧ data' = data^<c>
-------
You can also use the theta-operator to create an instance of that type. The values for the variables are taken from the current context (+ optional decorations):
--- Add2 ---
| ΔState
| real?, img?: ℤ
----
| data' = data^< θComplex? >
-------
θComplex? is an instance of Complex where the values for real and img are taken from the local variables real? and img?.
We can also declare the input variables by using the original schema and write the operation more concise (Add3 is the same as Add2):
--- Add3 ---
| ΔState
| Complex?
----
| data' = data^< θComplex? >
-------
(I deleted my original answer because I misinterpret your question.)
Like this
--- Agent---
| state: AgentState
-------
--- Shape ---
| agents :F Agent
----
| ∃ agt:agents · agt.state = stationary
-------

Resque job is processed but not doing anything

I'm trying to run a job in the background using resque and after following the docs and a couple of tutorials I am stuck. Running the resque.log it says the job ran but it really didn't.
I am currently calling the job like
Resque.enqueue(CsvImporterJob, params[:file].path, #organization.id)
This is the job:
class CsvImporterJob < ActiveJob::Base
#queue = :import
def self.perform(file, organization_id)
CSV.foreach(file, :headers => true) do |row|
if row
user = row.to_hash
email = user["email"]
case user["role"].downcase
when "admin"
role_id = Role.admin
else
role_id = Role.user
end
ActivateHelper.send_activation_token(email, organization_id, role_id)
end
end
end
end
This is the log:
D, [2016-04-06T11:02:59.854604 #6548] DEBUG -- : resque-1.25.2: Waiting for *
D, [2016-04-06T11:03:04.856115 #6548] DEBUG -- : Checking import
D, [2016-04-06T11:03:04.856388 #6548] DEBUG -- : Found job on import
I, [2016-04-06T11:03:04.856441 #6548] INFO -- : got: (Job{import} | CsvImporterJob | ["/var/folders/92/87zkvh_53mb3721x4025vmsr0000gn/T/RackMultipart20160406-6422-1t7akw1.csv", 6])
D, [2016-04-06T11:03:04.856771 #6548] DEBUG -- : resque-1.25.2: Processing import since 1459954984 [CsvImporterJob]
I, [2016-04-06T11:03:04.856811 #6548] INFO -- : Running before_fork hooks with [(Job{import} | CsvImporterJob | ["/var/folders/92/87zkvh_53mb3721x4025vmsr0000gn/T/RackMultipart20160406-6422-1t7akw1.csv", 6])]
D, [2016-04-06T11:03:04.858903 #6548] DEBUG -- : resque-1.25.2: Forked 6608 at 1459954984
I, [2016-04-06T11:03:04.859985 #6608] INFO -- : Running after_fork hooks with [(Job{import} | CsvImporterJob | ["/var/folders/92/87zkvh_53mb3721x4025vmsr0000gn/T/RackMultipart20160406-6422-1t7akw1.csv", 6])]
I, [2016-04-06T11:03:04.865640 #6608] INFO -- : done: (Job{import} | CsvImporterJob | ["/var/folders/92/87zkvh_53mb3721x4025vmsr0000gn/T/RackMultipart20160406-6422-1t7akw1.csv", 6])
D, [2016-04-06T11:03:04.869546 #6548] DEBUG -- : Checking import
D, [2016-04-06T11:03:04.869914 #6548] DEBUG -- : Sleeping for 5.0 seconds
D, [2016-04-06T11:03:04.869947 #6548] DEBUG -- : resque-1.25.2: Waiting for *
D, [2016-04-06T11:03:09.871048 #6548] DEBUG -- : Checking import
D, [2016-04-06T11:03:09.871237 #6548] DEBUG -- : Sleeping for 5.0 seconds
D, [2016-04-06T11:03:09.871459 #6548] DEBUG -- : resque-1.25.2: Waiting for *
D, [2016-04-06T11:03:14.872187 #6548] DEBUG -- : Checking import
D, [2016-04-06T11:03:14.872390 #6548] DEBUG -- : Sleeping for 5.0 seconds
Anything specific I should be doing? Thanks in advance
Solved this problem by setting up the connection with redis correctly
require 'resque/tasks'
require 'resque/scheduler/tasks'
task "resque:setup" => :environment do
ENV['QUEUE'] = '*'
Resque.redis = 'localhost:6379' unless Rails.env == 'production'
Resque.before_fork = Proc.new do |job|
ActiveRecord::Base.connection.disconnect!
end
Resque.after_fork = Proc.new do |job|
ActiveRecord::Base.establish_connection
end
end