scheduler tables can be dropped manually
deleting scheduler.py also.
But I still don't think that it's the way to fix the issue you're facing.

On Friday, December 18, 2015 at 11:22:57 AM UTC+1, Gael Princivalle wrote:
>
> >delete what ? the istantiation ? 
>
> Delete the scheduler.py file from models and all scheduler tables.
> How can I do it?
>
> Il giorno venerdì 18 dicembre 2015 10:48:23 UTC+1, Niphlod ha scritto:
>>
>>
>>
>> On Friday, December 18, 2015 at 10:45:22 AM UTC+1, Gael Princivalle wrote:
>>>
>>> I've set a scheduler in a new application and tasks are running.
>>>
>>> So probably there's a problem when a app comes from a previous web2py 
>>> version.
>>>
>>
>> as long as you let migration happen, no issues whatsoever.
>>  
>>
>>> Anyway I think it can be resolved deleting the scheduler and create it 
>>> again, but I've tried to:
>>> Killing the worker - Ok
>>> Delete Scheduler Ko
>>>
>>> When I delete the scheduler.py file from admin web2py creates it again.
>>>
>>> How can I delete the scheduler?
>>>
>>
>> delete what ? the istantiation ? 
>>  
>>
>>>
>>> Thanks, regards.
>>>
>>> Il giorno giovedì 17 dicembre 2015 21:40:36 UTC+1, Gael Princivalle ha 
>>> scritto:
>>>>
>>>> Thanks Niphlod.
>>>>
>>>> >So, here it is the breakdown of the possible issues:
>>>> >- are tasks QUEUED or ASSIGNED ?
>>>> QUEUED. But if I set the net run time to now + 2 minutes I can check 
>>>> that task don't run.
>>>> Status options don't have ASSIGNED.
>>>>
>>>> >If they are QUEUED, either they can't be executed yet (i.e. start_time 
>>>> in the future) or tasks are queued with a group_name that can't be 
>>>> processed by a worker . 
>>>> Main group for all.
>>>>
>>>> *>Check #1: there should be a scheduler_task row with group_name "in" 
>>>> scheduler_worker group_names*
>>>> >- if tasks SHOULD be ASSIGNED but remain on QUEUED status, no worker 
>>>> is running or workers can't agree on who is "the ticker".
>>>> Well worker is running and main is the group_name.
>>>>
>>>> *>Check #2 (there should be a scheduler_worker with is_ticker = True)*
>>>> Yes it have.
>>>>
>>>> Check is complete. I think I will cancel the scheduler and create it 
>>>> again. Thanks for your help.
>>>>
>>>> Il giorno giovedì 17 dicembre 2015 21:21:56 UTC+1, Niphlod ha scritto:
>>>>>
>>>>> I thought more people liked to see the code : I find myself explaining 
>>>>> scheduler internals more often than I'd like to :P
>>>>>
>>>>> soooooooooo. worker names.... worker names are used to identify a 
>>>>> worker process (it's enforced as unique in the model)...
>>>>> I'll reply to some ideal "FAQ" questions....
>>>>> - Why worker names are important ? Because tasks ASSIGNED to a 
>>>>> worker_name (assigned_worker_name in scheduler_task) get processed by 
>>>>> that worker, and that worker only
>>>>> - Who chooses worker names ? the worker itself. It does so 
>>>>> concatenating the hostname and the PID, which results in a good (and 
>>>>> unique) way to identify a process.
>>>>> - Who chooses that task "foo" gets processed by worker "bar" ? A 
>>>>> worker. It's when tasks from QUEUED go to the ASSIGNED status... The 
>>>>> worker 
>>>>> that does this is "the ticker". The ticker is "elected" with a dumb (and 
>>>>> slow) - but reliable - algorithm among workers: it's the only one that 
>>>>> can 
>>>>> "assign" tasks (either to itself or to other workers). The only thing 
>>>>> that 
>>>>> blocks a ticker to assign tasks to a worker is the group_name.
>>>>>
>>>>> So, here it is the breakdown of the possible issues:
>>>>> - are tasks QUEUED or ASSIGNED ? If they are QUEUED, either they can't 
>>>>> be executed yet (i.e. start_time in the future) or tasks are queued with 
>>>>> a 
>>>>> group_name that can't be processed by a worker . 
>>>>> *Check #1: there should be a scheduler_task row with group_name "in" 
>>>>> scheduler_worker group_names*
>>>>> - if tasks SHOULD be ASSIGNED but remain on QUEUED status, no worker 
>>>>> is running or workers can't agree on who is "the ticker". 
>>>>> *Check #2 (there should be a scheduler_worker with is_ticker = True)*
>>>>> That should be it.
>>>>>
>>>>>
>>>>> Note: if tasks are ASSIGNED to a worker that isn't there anymore (i.e. 
>>>>> is dead or, in your case, you changed hosting facility) it's not an 
>>>>> issue. 
>>>>> Any worker, periodically, checks if ALL other workers are alive (and 
>>>>> kicking) and if a worker isn't kicking it's removed from the 
>>>>> scheduler_worker table AND all tasks ASSIGNED to it gets redistributed 
>>>>> among live workers. This in addition to the ticker redistributing tasks 
>>>>> every once in a while if they're ready to be executed but not executed 
>>>>> yet 
>>>>> (it can, and it does happen, that a worker is busy processing a 
>>>>> long-running task while there are other tasks ready to be processed (by 
>>>>> other workers). Every worker gets a fair chance of doing something useful 
>>>>> instead of sleeping)
>>>>>
>>>>> On Thursday, December 17, 2015 at 9:02:11 PM UTC+1, Gael Princivalle 
>>>>> wrote:
>>>>>>
>>>>>> Hello to all.
>>>>>>
>>>>>> I've migrate my webfaction hosting to another webfaction hosting that 
>>>>>> run CentOS 7 (before it was a previous version of CentOS).
>>>>>> I was running web2py 2.9.12, now I have web2py 2.12.3.
>>>>>>
>>>>>> I've got a strange problem with the scheduler.
>>>>>>
>>>>>> Workers are in the db, they run, they are assigned to tasks, but 
>>>>>> tasks don't run.
>>>>>> When I've created new workers tasks have not take automatically the 
>>>>>> worker name. I've put all worker names by myself.
>>>>>>
>>>>>> Perhaps the problem is due to the worker names.
>>>>>> In the previous hosting they were like that:
>>>>>> s18060957#14459
>>>>>>
>>>>>> And now they have the webserver name:
>>>>>> web490.webfaction.com#12949
>>>>>>
>>>>>> web2py seems to codify the webserver name, but in this new 
>>>>>> configuration it don't.
>>>>>> Is it why Scheduler don't run tasks?
>>>>>> How I can resolve that?
>>>>>>
>>>>>> Thanks, regards.
>>>>>>
>>>>>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to