Beispiel #1
0
def start_workers():

    # Launch worker threads to operate on queue
    logger.info('Starting %s worker threads' % cf.num_workers)
    for i in range(cf.num_workers):
        t = threading.Thread(target=processor, kwargs={'worker_id': i})
        t.daemon = True
        t.start()

    # If the config file has a [cron] section, the key names therein are
    # functions from 'myfuncs.py' which should be invoked periodically.
    # The key's value (must be numeric!) is the period in seconds.

    if cf.has_section('cron'):
        for name, val in cf.items('cron'):
            try:
                func = load_function(name=name, py_mod=cf.functions)
                cron_options = parse_cron_options(val)
                interval = cron_options['interval']
                logger.debug('Scheduling function "{name}" as periodic task ' \
                              'to run each {interval} seconds via [cron] section'.format(name=name, interval=interval))
                service = make_service(mqttc=mqttc, name='mqttwarn.cron')
                ptlist[name] = PeriodicThread(callback=func,
                                              period=interval,
                                              name=name,
                                              srv=service,
                                              now=asbool(
                                                  cron_options.get('now')))
                ptlist[name].start()
            except AttributeError:
                logger.error(
                    "[cron] section has function [%s] specified, but that's not defined"
                    % name)
                continue
Beispiel #2
0
def test_asbool():
    assert asbool(True) is True
    assert asbool(False) is False
    assert asbool(None) is False
    assert asbool('true') is True
    assert asbool('false') is False
    assert asbool('yes') is True
    assert asbool('no') is False
    assert asbool('on') is True
    assert asbool('off') is False

    with pytest.raises(ValueError) as excinfo:
        asbool('Hotzenplotz')
    assert str(excinfo.value) == "String is not true/false: 'hotzenplotz'"
Beispiel #3
0
def test_asbool():
    assert asbool(True) is True
    assert asbool(False) is False
    assert asbool(None) is False
    assert asbool("true") is True
    assert asbool("false") is False
    assert asbool("yes") is True
    assert asbool("no") is False
    assert asbool("on") is True
    assert asbool("off") is False

    with pytest.raises(ValueError) as excinfo:
        asbool("Hotzenplotz")
    assert str(excinfo.value) == "String is not true/false: 'hotzenplotz'"