| 801 | |
| 802 | |
| 803 | class Task(object): |
| 804 | default_expires = None |
| 805 | default_priority = None |
| 806 | default_retries = 0 |
| 807 | default_retry_delay = 0 |
| 808 | default_timeout = None |
| 809 | |
| 810 | def __init__(self, args=None, kwargs=None, id=None, eta=None, retries=None, |
| 811 | retry_delay=None, priority=None, expires=None, |
| 812 | on_complete=None, on_error=None, expires_resolved=None, |
| 813 | timeout=None, chord_config=None): |
| 814 | self.name = type(self).__name__ |
| 815 | self.args = () if args is None else args |
| 816 | self.kwargs = {} if kwargs is None else kwargs |
| 817 | self.id = id or self.create_id() |
| 818 | self.revoke_id = 'r:%s' % self.id |
| 819 | self.eta = eta |
| 820 | self.retries = retries if retries is not None else self.default_retries |
| 821 | self.retry_delay = retry_delay if retry_delay is not None else \ |
| 822 | self.default_retry_delay |
| 823 | self.priority = priority if priority is not None else \ |
| 824 | self.default_priority |
| 825 | self.expires = expires if expires is not None else self.default_expires |
| 826 | self.expires_resolved = expires_resolved |
| 827 | self.timeout = timeout if timeout is not None else self.default_timeout |
| 828 | self.chord_config = chord_config |
| 829 | self._deadline = None |
| 830 | |
| 831 | self.on_complete = on_complete |
| 832 | self.on_error = on_error |
| 833 | |
| 834 | @property |
| 835 | def data(self): |
| 836 | return (self.args, self.kwargs) |
| 837 | |
| 838 | def __repr__(self): |
| 839 | rep = '%s.%s: %s' % (self.__module__, self.name, self.id) |
| 840 | if self.eta: |
| 841 | rep += ' @%s' % self.eta |
| 842 | if self.expires: |
| 843 | if self.expires_resolved and self.expires != self.expires_resolved: |
| 844 | rep += ' exp=%s (%s)' % (self.expires, self.expires_resolved) |
| 845 | else: |
| 846 | rep += ' exp=%s' % self.expires |
| 847 | if self.priority: |
| 848 | rep += ' p=%s' % self.priority |
| 849 | if self.retries: |
| 850 | rep += ' %s retries' % self.retries |
| 851 | if self.timeout: |
| 852 | rep += ' timeout=%s' % self.timeout |
| 853 | if self.on_complete: |
| 854 | rep += ' -> %s' % self.on_complete |
| 855 | if self.on_error: |
| 856 | rep += ', on error %s' % self.on_error |
| 857 | if self.chord_config: |
| 858 | rep += ', chord %s' % self.chord_config.cid |
| 859 | return rep |
| 860 |
no outgoing calls
no test coverage detected