Hi Uri,
  It looks like the remote_api doesn't support lease_tasks.  You
should be able to enable leasing and deleting tasks by adding the
following lines to the taskqueue service list:

         'QueryAndOwnTasks':
(taskqueue_service_pb.TaskQueueQueryAndOwnTasksRequest,

taskqueue_service_pb.TaskQueueQueryAndOwnTasksResponse),
         'Delete': (taskqueue_service_pb.TaskQueueDeleteRequest,
                    taskqueue_service_pb.TaskQueueDeleteResponse),

  Just put those after 'FetchQueueStats' (should be around line 110) in:
    google_appengine/google/appengine/ext/remote_api/remote_api_services.py

  Attached is a patch file.  This worked in my local testing at least. :)


Robert






On Tue, May 17, 2011 at 07:09, uri twig <[email protected]> wrote:
> Thanks Greg
>
> That works OK.
>
> I have another problem: i have two back ends 1 'tester' inserts tasks
> to a queue with 'PULL' method.
> and another  'worker' that leases the tasks and process them. the
> 'tester' backend works fine.
> the 'worker' I get an exception at   lease_tasks function
>
> the stack is as follows:
>
> [Remote API Server] [handler.py:308] ERROR Exception while handling
> service_name: "taskqueue"
> method: "QueryAndOwnTasks"
> request: "\n\011workitems\021\000\000\000\000\000 \254@\030d"
> Traceback (most recent call last):
>  File "C:\Program Files\Google\google_appengine\google\appengine\ext
> \remote_api\handler.py", line 304, in post
>    response_data = self.ExecuteRequest(request)
>  File "C:\Program Files\Google\google_appengine\google\appengine\ext
> \remote_api\handler.py", line 324, in ExecuteRequest
>    raise apiproxy_errors.CallNotFoundError()
> CallNotFoundError
> [Backend Instance] [worker.0] [utilities.py:143] ERROR ***worker***
> CallNotFoundError
>
> Traceback (most recent call last):
>  File "D:\vodio\trunk\Software\Samples\backends\test-backends
> \worker.py", line 48, in main
>    tasks = q.lease_tasks(3600, 100)
>  File "C:\Program Files\Google\google_appengine\google\appengine\api
> \taskqueue\taskqueue.py", line 1041, in lease_tasks
>    response)
>  File "C:\Program Files\Google\google_appengine\google\appengine\api
> \apiproxy_stub_map.py", line 94, in MakeSyncCall
>    return stubmap.MakeSyncCall(service, call, request, response)
>  File "C:\Program Files\Google\google_appengine\google\appengine\api
> \apiproxy_stub_map.py", line 308, in MakeSyncCall
>    rpc.CheckSuccess()
>  File "C:\Program Files\Google\google_appengine\google\appengine\api
> \apiproxy_rpc.py", line 156, in _WaitImpl
>    self.request, self.response)
>  File "C:\Program Files\Google\google_appengine\google\appengine\ext
> \remote_api\remote_api_stub.py", line 177, in MakeSyncCall
>    self._MakeRealSyncCall(service, call, request, response)
>  File "C:\Program Files\Google\google_appengine\google\appengine\ext
> \remote_api\remote_api_stub.py", line 197, in _MakeRealSyncCall
>    raise pickle.loads(response_pb.exception())
> CallNotFoundError
>
>
>
> On May 17, 12:44 am, "Greg Darke (Google)" <[email protected]>
> wrote:
>> In the dev-appserver you need to pass the '--backends' parameter.
>>
>> On 15 May 2011 11:07, uri twig <[email protected]> wrote:
>>
>>
>>
>>
>>
>>
>>
>> > Hi I'm tring to work with the new backends api, I downloaded the
>> > sample code formhttp://backends-io.appspot.com/
>>
>> > and I run it on a few machines with the new appengine 1.5 sdk
>>
>> > this is what I get whenhttp://localhost:8080/welcome
>>
>> > What am I'm doing wrong ?!?
>>
>> > Traceback (most recent call last):
>> >  File "C:\Program Files\Google\google_appengine\google\appengine\tools
>> > \dev_appserver.py", line 4053, in _HandleRequest
>> >    self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
>> >  File "C:\Program Files\Google\google_appengine\google\appengine\tools
>> > \dev_appserver.py", line 3977, in _Dispatch
>> >    base_env_dict=env_dict)
>> >  File "C:\Program Files\Google\google_appengine\google\appengine\tools
>> > \dev_appserver.py", line 588, in Dispatch
>> >    base_env_dict=base_env_dict)
>> >  File "C:\Program Files\Google\google_appengine\google\appengine\tools
>> > \dev_appserver.py", line 3050, in Dispatch
>> >    self._module_dict)
>> >  File "C:\Program Files\Google\google_appengine\google\appengine\tools
>> > \dev_appserver.py", line 2954, in ExecuteCGI
>> >    reset_modules = exec_script(handler_path, cgi_path, hook)
>> >  File "C:\Program Files\Google\google_appengine\google\appengine\tools
>> > \dev_appserver.py", line 2834, in ExecuteOrImportScript
>> >    exec module_code in script_module.__dict__
>> >  File "D:\test\counter_demo\demo_frontend.py", line 22, in <module>
>> >    backends.get_url('counter'))
>> >  File "C:\Program Files\Google\google_appengine\google\appengine\api
>> > \backends\backends.py", line 101, in get_url
>> >    return _get_dev_url(backend, instance)
>> >  File "C:\Program Files\Google\google_appengine\google\appengine\api
>> > \backends\backends.py", line 171, in _get_dev_url
>> >    return 'http://%s' % _get_dev_hostname(backend, instance)
>> >  File "C:\Program Files\Google\google_appengine\google\appengine\api
>> > \backends\backends.py", line 190, in _get_dev_hostname
>> >    raise InvalidBackendError(error)
>> > InvalidBackendError: Backend not found: counter
>>
>> > --
>> > You received this message because you are subscribed to the Google Groups 
>> > "Google App Engine" group.
>> > To post to this group, send email to [email protected].
>> > To unsubscribe from this group, send email to 
>> > [email protected].
>> > For more options, visit this group 
>> > athttp://groups.google.com/group/google-appengine?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Google App Engine" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/google-appengine?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Attachment: remote_api_pull_queue.patch
Description: Binary data

Reply via email to