• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 369
  • Last Modified:

how to passing variable in zend job queue?

Daer all,

i try use zend job queue, i have problem:
i have script A  that do insert job that excute script B to job queue. and it run well. but when i try send varibles from  script A to script B. how to access variable in script B that defined in script A?

i have try use setUserVars in script A.
i try use get_defined_vars. and i see my variable in $_server [JQ_USER_VARS_DATA] .

but how to access the varible i dont know.

script A
$_REQUEST[msisdn] 	= 62817;
$_REQUEST[keyword] 	= "message";
$_REQUEST[oprId] 	= 1;
$_REQUEST[trxId] 	= 1;
$_REQUEST[Channel] 	= 3;
$_REQUEST[sdcId] 	= 2;
$executeFile = "scriptB.php";
$queue = new ZendApi_Queue(ZEND_PLATFORM_IP_PORT);
$checkoutJob = new ZendApi_Job($executeFile);
$checkoutJob -> setUserVariables(array('var'=>$_REQUEST));
$id = $queue->addJob($checkoutJob);
in Script B
output script B:
    [ZendEnablerConfig] => /usr/local/Zend/Platform/etc/fastcgi-jobq.conf
    [PHPRC] => /usr/local/Zend/Platform/etc/fastcgi
    [LD_LIBRARY_PATH] => /usr/local/Zend/Platform/lib
    [PATH_TRANSLATED] => /usr/local/Zend/Platform/JobQueue/M-ASP/cli/GetVar2.php
    [JQ_USER_VARS_SIZE] => 264
    [JQ_USER_VARS_DATA] => a%3A1%3A%7Bs%3A3%3A%22var%22%3Ba%3A6%3A%7Bs%3A6%3A%22msisdn%22%3Bd%3A62817%3Bs%3A7%3A%22keyword%22%3Bs%3A10%3A%22message%22%3Bs%3A5%3A%22oprId%22%3Bi%3A1%3Bs%3A5%3A%22trxId%22%3Bi%3A1%3Bs%3A7%3A%22Channel%22%3Bi%3A3%3Bs%3A5%3A%22sdcId%22%3Bi%3A2%3B%7D%7D
    [JQ_GLOBALS_SIZE] => 76
    [JQ_GLOBALS_DATA] => a%3A1%3A%7Bs%3A5%3A%22_POST%22%3Bs%3A14%3A%22a%253A0%253A%257B%257D%22%3B%7D
    [REQUEST_URI] => /usr/local/Zend/Platform/JobQueue/M-ASP/cli/GetVar2.php
    [SCRIPT_FILENAME] => /usr/local/Zend/Platform/JobQueue/M-ASP/cli/GetVar2.php
    [PHP_SELF] => 
    [REQUEST_TIME] => 1240923545
    [argv] => Array
    [argc] => 0

Open in new window

1 Solution
Richard QuadlingSenior Software DeverloperCommented:
The easiest way is to use a session.

In both files add the line (near/at the top) ...


Now you can use the $_SESSION super global.

If you ...

$_SESSION['Name'] = 'Richard';

in script A, you can ...

echo $_SESSION['Name'];

in script B.

More details can be read at http://docs.php.net/manual/en/book.session.php
herbetfyAuthor Commented:
i have find the problem. i use wrong php.ini in fastcgi.
after i change php.ini to default  everything run well.

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now